What Makes A Programming Language Good

Austin Hastings ah08010-d at yahoo.com
Tue Jan 18 21:16:40 PST 2011


On 1/18/2011 10:31 AM, Vladimir Panteleev wrote:
>
> Then the question is: does the time you spent writing and maintaining
> makefiles and build scripts exceed the time it would take you to set up
> a build tool?
>

For D, no.

When I tried to get started with D2, there were a lot of pointers to 
kewl build utilities on d-source.

None of them worked.

None of them that needed to self-build were capable of it. (Some claimed 
to "just run," which was also false.)

So I wound up pissing away about two days (spread out here and there as 
one library or another would proudly report "this uses build tool Z - 
isn't it cool?!" and I'd chase down another failure).

On the other hand, Gnu Make works. And Perl works. And the dmd2 compiler 
spits out a dependency list that, with a little bit of perl foo, turns 
into a makefile fragment nicely.

So now I have a standard makefile package that knows about parsing D 
source to figure out all the incestuous little details about what calls 
what. And I'm able, thanks to the miracle of "start here and recurse," 
to move this system from project to project with about 15 minutes of 
tweaking. Sometimes more, if there's a whole bunch of targets getting built.

What's even more, of course, is that my little bit of Makefile foo is 
portable. I can use make with C, D, Java, C++, Perl, XML, or whatever 
language-of-the-week I'm playing with. Which is certainly not true of 
"L33+ build tool Z."  And make is pretty much feature-complete at this 
point, again unlike any of the D build tools.

Which means that investing in knowing how to tweak make pays off way 
better than time spent learning BTZ.

=Austin


More information about the Digitalmars-d mailing list