Love this blog, love this article. The "has GC" thing and "is a VM" thing goes pretty quickly to "you used a REPL didn't you?"<p>To compile times.<p>A lot of code I use is ./configure. the autoconf/autogen thing looks to me to be doing shell wrapper around basic CPP/CC/AS/LD operations (well, actually the ${CC} called to do the phases mostly) and I <i>think</i> this gets me .o and related files with timestamps I can trust, but past experience was, it was inherently unsafe to modify a .h and then expect the dependency chain to be correct.<p>So. I got into the habit of destroying the intermediate products to be sure to be sure the dependency chains remade everything they needed.<p>I think this kind of thing blows out costs.<p>Also, there are the kind make scenarios where "make all" does stuff, but make install actually does MORE and I hate those. The delayed cost of making things "for real" is high, for the thing which I thought I had already done.<p>My own code had/has really tiny structure. I think if i had coded enough to need richness in library and modules I'd be more conscious of the maintenance side of this, and of the burden to make Makefiles which did the right thing, with dependencies.<p>I remember older compilers (OSF/1?) which demanded you make it, run it for 30 sec, then let the compiler use the runtime to decide which optimisations to re-apply making it for real.