Biggest Issue with D - Definition and Versioning

Adam Wilson flyboynw at gmail.com
Wed Jan 18 14:15:24 PST 2012


On Wed, 18 Jan 2012 13:57:58 -0800, Walter Bright  
<newshound2 at digitalmars.com> wrote:

> On 1/18/2012 1:27 PM, Patrick Stewart wrote:
>> How about putting equal effort in keeping existing D users? There is  
>> more
>> than one blogs online of ex D users with some pretty solid arguments  
>> why they
>> abandoned D. And those args are usually not some missing shiny feature  
>> X but
>> feature Y D already has but it is broken.
>
> I do attach far more importance to that than to reasons people who never  
> used D do not use D.
>
>
>> Just saying focusing on bright future is not excuse to forget about  
>> imperfect
>> now.
>
> I'm not saying it is.
>
> The point is, we have limited resources. We have to put those resources  
> where they will have the most effect.

I would argue that what would have the most effect is a concerted effort  
to stabilize the compiler. That means normalizing the differences between  
DMD/DRT, the Spec, and TDPL. That means taking a break from anything new  
(regardless of how badly we want them ... *COFF*COFF*), doing a thorough  
audit of the open issues and prioritizing compiler issues first. Then  
dedicated a release or three to doing nothing but fixing those issues.  
There are 2719 open issues in the bugtracker; that number alone will scare  
off many potential users. And the number of ICE's is much higher than it  
really should be to call DMD stable. In open-source terms, DMD is beta.  
I'm leaving out Phobos here specifically because it doesn't interact with  
the compiler nearly as much as the runtime does.

I would also argue that the above point is even more important in light of  
the fact that DMD has such limited resources. Accurate and efficient  
targeting of those resources is crucial to D's survival. New features,  
while exciting, only introduce the opportunity for new bugs and  
regressions. But without a stable compiler a language is just a theory and  
some mathematical proofs.

Once we have a stable compiler it gets much easier to build out libraries  
of code. These libraries are what really sell the language as they not  
only provide a preexisting toolbox for new developers, but also show that  
the language is mature enough to reliably handle complex bodies of code.  
Also once a stable compiler exists writing coherent documentation also  
gets much easier as the number of undefined and undocumented behaviors is  
significantly reduced. Ideally the documentation would have been written  
first but at this point I think it is way to much work for said limited  
resources to document and code at the same time.

To be honest, I think this is the end-goal that Andrei is shooting for in  
his "Planning Software?" thread...

-- 
Adam Wilson
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d mailing list