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