Attractive Chaos' blog entry: Timeline of the D programming language

Jonathan M Davis jmdavisProg at gmx.com
Tue Feb 28 15:27:01 PST 2012


On Tuesday, February 28, 2012 17:45:09 bearophile wrote:
> Andrei Alexandrescu:
> > Found this today:
> > 
> > http://attractivechaos.wordpress.com/2012/02/28/timeline-of-the-d-programm
> > ing-language/
> From the blog post:
> >As an outsider, I think the first priority for D is to quickly stabilize
> >the compiler and the standard library to convince everyone that programs
> >written now will still be compiled years later.<
> I don't agree. If we try to do that too much, we freeze the warts of
> language and of Phobos, for a small gain. Programmers that want warts and
> language stability know where to find it (elsewhere), and even languages
> much older than D (like C++11) break compatibility with the past to
> improve. So I think D has to fix its small warts (most of them are already
> in Bugzilla, like array syntax, vector op syntax, override, property, and
> so on), Phobos needs to not be ice-frozen because the experience of real
> world usage suggests better APIs. I think Phobos APIs need to be less
> frozen.

Ideally, in the long run at least, existing Phobos APIs wouldn't be changing 
much. Changing them breaks code, and it sucks to have to refactor a bunch of 
code because of changes to the standard library. _New_ stuff can continue to be 
added, and it may be that newer APIs will always be in a bit more flux as they 
settle down, but we really do need a relatively fixed set of APIs in order to 
avoid breaking people's code.

There's plenty still in Phobos that needs to be reworked before it approaches 
any kind of real frozen state (e.g. std.xml and std.stream), but we _do_ need 
to evolve Phobos to the point that breaking changes are rare. And we may want 
to eventually move to a model where we version things such that breaking 
changes only occur on major versions, and you can rely on nothing breaking 
with minor ones, rather than treating all versions the same. Regardless, the 
current lack of stability is a huge problem. It's more or less inevitable as 
we still iron things out, but it's something that we need to grow out of.

- Jonathan M Davis


More information about the Digitalmars-d-announce mailing list