
Fare: Metaprogramming from the ground up: avoid C - rplevy
http://fare.livejournal.com/135078.html
======
qwph
_But that doesn't mean it is impossible to write trivial harmful metaprograms
in CPP, as is easily demonstrated in my counter-example
die_die_stupid_c_compiler.c_

I'm slightly disappointed that

    
    
      gcc -E die_die_stupid_c_compiler.c
    

didn't die, although it did produce about 750k of output, which is quite
impressive...

~~~
kinghajj
Can anyone explain why this takes so long to compile? It doesn't look that
complicated.

Edit: I compiled with "gcc -O3 -s", which took 8 minutes, but the executable
is only 4784 bytes.

~~~
fp
The long compilation time is due to the optimization options. Without
optimization it compiles in a few seconds.

Yet, the macros leave plenty of space for optimization. See the size of your
executable compared to the unoptimized one of qwph above.

------
fp
"Like Perl, C++ is a swiss army chainsaw of a programming language. Unlike
Perl, it's got all the blades simultaneously and permanently cast in a fixed
half-open position. Don't turn it on."

Priceless.

------
wheels
Uhm, I find this post kind of uninspired. Did it really require experimental
verification to show that meta-programming in C probably wasn't a good idea?

I find this sort of argument in general a bit straw-man-ish. They use a
programming language for something it's not suited for and then reflect that
back on the programming language.

