Give me a break

dsimcha dsimcha at yahoo.com
Sun Jun 28 17:08:13 PDT 2009


== Quote from Jarrett Billingsley (jarrett.billingsley at gmail.com)'s article
> With four or five people having voiced concerns over the future of D
> in the past week or so, what's the busiest discussion?
> int.nan, of course.
> Come on.  Get with the program.  Enough already with the bikeshed
> bullshit.  There are far more important issues at hand.

Yeah, but a lot of the other discussions have been about toolchain issues,
marketing, installers, etc., not the language per se.  To me, the main priorities
right now should be to get the language spec finalized and to get a usable (not
necessarily perfect) reference implementation working.

The importance of finishing up the spec is obvious.  The reference implementation
is important for the following reasons:

1.  Let's face it, it's extremely difficult to identify corner cases in the spec
that need to be clarified until you've actually tried to use the language.
Despite what language lawyers and type A personalities like to think, the
reference implementation of any language serves as a de facto spec and co-evolves
with the spec at least initially.

2.  Without a decent reference implemenation, D would only exist on paper and look
like a vaporware castle in the air language.

3.  If a feature isn't implemented in a reasonably bug-free manner (or at all),
it's hard for the community to understand it, use it and give feedback on how it
can be improved.

I feel that miscellaneous toolchain issues (other than implementing changes to the
spec and fixing bugs that severely affect the usability of language features) are
an order of magnitude less important because this stuff can always be done after
the fact without breaking code.  In other words, once the spec is finalized and a
decent reference implementation is out the door, people can confidently use D2
knowing that the situation will only get better.  Until then, it's two steps
forward, one step back when code breaks in non-trivial ways due to a spec change
or a compiler bug makes a seemingly useful feature that you planned on using
absolutely useless.



More information about the Digitalmars-d mailing list