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