Biggest Issue with D - Definition and Versioning

deadalnix deadalnix at gmail.com
Thu Jan 19 12:52:43 PST 2012


Le 18/01/2012 21:41, Walter Bright a écrit :
> On 1/18/2012 12:10 PM, deadalnix wrote:
>> Usually, a newcomer isn't even sure if the bug comes from his/her code
>> or from
>> the compiler. How can you expect them to fill a bug about the spec ???
>
> That's what these forums are for - to ask.

Seriously, that isn't a solution at all. Just imagine yourself as a 
newcomer.

You have this idea of program, and think this is a good opportunity to 
start using a language that seems promising : D.

You write some code and they face an error. As you are new to the 
language, unless you are crazy, you'll asume that the mistake comes from 
you and not from the compiler (this is an usual experience in other 
languages : I almost never encounter compiler bugs).

So you begin to dig more and more in every documentation you can find 
and try several alternatives. You also search on the web for article 
about a similar problem and face a desert. After 1, 2 or 3 hours you 
decide to post on this newgroup. At this point, your program as made no 
significant progress.

After several hours again (probaly one or two days later in fact) you 
discover in the newgroups that you faced a compiler/phobos bug and that 
you have to use a dirty hack or another way to do your stuff. At this 
point, you program has made no progress, and worse, you know you have to 
recode a part of it.

Repeat the process 2 or 3 times. Give up and go back to java, C#, python 
or whatever.

We need a more reliable technology for the compiler and the standard 
lib. I would say that even if it require to break some existing code 
(like to solve the toString issue and make it const compilant). This 
have to be annonced in advance, but shouldn't stop us. The code base 
will only grow (and if it stop to grow, we can consider the language as 
actually dead). So the earlier we fix thoses, the better.

Let me explain an exprience of mine. I was studying std.concurrency when 
I figured out that it can be greatly improved (using something close to 
a disruptor for message passing). I wanted to propose a patch for that, 
but I figured out that shared was actually broken and that the compiler 
is unable to ensure what is specified in the doc. This is a deal breaker 
for disruptor. So no disruptor in std.concurency, poorer performance and 
still problems with shared.

It's time to secure the basics. Ensure a good experience for newcomers. 
thoses people will be embassador of D tomorow.


More information about the Digitalmars-d mailing list