On 19/11/11 8:22 PM, Timon Gehr wrote:
On 11/19/2011 08:33 PM, Bane wrote:
Peter Alexander Wrote:

On 19/11/11 2:02 PM, Bane wrote:
I paused with D last year after (yet another) unsuccessful attempt
to port my code from D1 to D2. reason: shared stuff. More specific
reason - is it a bug with my code or docs ain't exact or that
feature isn't working yet (even docs claim it works?)?

So, I guess problem is correctness of manual for D2. Digging trough
this newsletter to find is some feature working and how is terrible
way for learning.

I agree with this 100%. It is true that a lot of advertised features in
D simply do not work at all, and the fact that they don't work isn't
documented anywhere except in the newsgroups.

In addition to making it incredibly difficult to learn the language, it
also dissuades people from writing tutorials. A couple of times I have
started to write tutorials and stopped simply because the stuff I wrote
didn't actually work (e.g. I'd write about selective imports, but then
figure out that they don't work as advertised). I don't want to write
tutorials that are filled with "D is awesome, you can do this... except
you can't."

Things that don't work simply shouldn't be mentioned in the docs. Put
them on a "Work in progress" page or something so that people know what
should be working, but don't advertise them as working features until at
least one compiler supports them.

Yup. Learning D is just too difficult comparing to most other popular
languages. My general feeling is that it is sloppy and too great
investment for one to get to know its powers mixed with
pain-in-the-ass quirks.


There is 'D' the language and 'DMD' the implementation. You confuse the
two. The quirks you are talking about are DMD's, but the specification
is that of D. DMD needs to be fixed, and that is what the 'core people'
are working on.

You are right, but DMD is the reference implementation and as such should implement everything in the language. Bugs are to be expected, and you may even expect to see some of the esoteric corner cases of the language unimplemented, but it is quite frustrating when many fundamental features are simply unimplemented or don't work as designed.

If the reference implementation doesn't implement the language it claims to implement then at the very least it should still be marked as an alpha or beta version of the compiler, but that's not the case.

At the very, *very* least there should be a note on the DMD download page that says that it is an unfinished implementation, with perhaps a link to a list of major unimplemented features.

Reply via email to