Do we need a time-out in D evolution?

eao197 eao197 at intervale.ru
Tue Jun 5 09:25:03 PDT 2007


I'm watching for discussions 'Stepping back and looking at constness from  
another angle' here and 'resizeable arrays: T[new]' & 'preparing for  
const, final, and invariant' in digitalmars.D.announce and I'm sad. I  
occasionally locked to D may be from 2003 -- it was a constantly changing  
language. At the end of 2006 I thought that D is stable enough to start to  
use it. And in Jan 2007 the v.1.000 went out. I thought that in near time  
D would have only bug fix releases and it is a time when various tools for  
D (like libraries and IDEs) would be produced.

But I was wrong.

What we have now? The language which keeps their evolution. Lack of  
libraries, lack of tools, lack of documentation (books and tutorials). As  
a consequence -- lack of users. And we don't get much new users and new  
applications without new libraries/tools/documentation.

As a programmer I need a stable language. A language in which I can write  
a domain-specific library and forget about its maintenace for three of  
five years (as for some of my C++ libraries those I wrote in 2002-2003). I  
need to write applications and because of that I need a quality and stable  
compiler, a quality and stable standard library, and quality third party  
libraries. And third party libraries' writters need a stable tools too.

But now, when I'm writting some D code, I know that in near feature the  
next D version will be here. And that version broke my code because of  
consts and new syntax of resizeable arrays. So why to start a new big  
project on D if its codebase will be obsolete in few months?

And I'm affraid that after adding consts/final/invariant support to D the  
language keeps their envolution :(

Yes consts/final/invariant is a great addition to the language. But D now  
is very powerful language. It is now more powerful than C++0x will be. So  
may be it is better to stop add new features and make a stable platform  
for library/tools writters at first and then for applications writters?  
AFAIK, every successful languages were going such way -- the good initial  
release and some new releases later with years of stability beetwen them.  
And I'm affraid that C++0x will be here before D would get a stable  
language with enough libraries and tools.

May be it is better to concentrate on improvement of the current  
implementation (fast precise GC instead of the current conservative GC,  
for example) instead of introducing incompatible changes in the language?

And my main question is: will be D a constanly changing language or will  
be there some time-outs in its evolution?

-- 
Regards,
Yauheni Akhotnikau



More information about the Digitalmars-d mailing list