Why I (Still) Won't Use D

Georg Wrede georg at nospam.org
Thu Mar 27 21:06:58 PDT 2008


Michiel Helvensteijn wrote:
> By hard-coding certain behaviors in the core language, you've taken away the
> freedom of the programmer to choose these hirself. Like the growth-rate of
> dynamic arrays. Or the sorting algorithm used by the .sort property. Or the
> datastructure returned by the .keys property of associative arrays.

These could be parameterizable. (Like the growth-rate of dynamic arrays, 
etc.) At this stage of D, however, it may be more practical to have them 
chiseled in stone for the time being, letting us concentrate on more 
current and/or pressing issues.

Of course, later (when most of the more pressing issues are solved) one 
could be interested in parameterizing these. (Or simply tuning them to 
get them exactly right.)

And of course, nothing stands in the way of somebody writing a superior 
implementation of these, already today. Or the other (today-considered) 
basic data structures. Actually, if somebody does this, chances are 
they'd be incorporated into D.

We've seen plenty of examples of somebody writing an excellent module 
that's later been incorporated into Phobos. And there's a lot of room 
for potential writers: currently std.algorithm does not contain 
next_permutation or prev_permutation. Not to mention all the things one 
wouldn't guess off-hand. Or the things that really make a difference, 
like something fiercely usable, that we've simply ignored so far.

Additionally, since the front-end of D is public domain, you may read, 
copy, modify, and eventually even return the derived contributions to 
the community. In other words, if the datastructure returned by .keys is 
inadequate, copy it off of the library, and enhance it. When you're 
satisfied, simply send it to Walter, or publish it here to get some 
feedback.



More information about the Digitalmars-d mailing list