Some Notes on 'D for the Win'
Chris via Digitalmars-d
digitalmars-d at puremagic.com
Mon Aug 25 06:30:43 PDT 2014
On Monday, 25 August 2014 at 12:35:51 UTC, Ola Fosheim Grøstad
wrote:
> On Monday, 25 August 2014 at 11:20:51 UTC, Chris wrote:
>> I sometimes have the feeling that because the D community
>> discusses every tiny feature or change elaborately (and
>> rightly so), people coming from the outside have the
>> impression that it's a half-baked (and thus unreliable) thing.
>
> How is it not half-baked when DMD is released with regressions?
>
> D lacks proper quality assurance and a clear distinction by
> experimental releases/features and production quality.
>
> Features should have at least 6-12 months of testing before
> being used in production, IMO.
>
>> Other languages often just "cover up" the discussions, or in
>> the case of Go, decisions are presented post factum (with a
>> lot of hype and "Hurra!" around them), which gives the
>> impression of a clean and tight (and thus reliable) project.
>
> Go has reached feature stability and does not push experimental
> features into the production compiler. The libraries are
> limited in scope and thus of reasonable quality AFAIK.
>
> Note that on Google App Engine the Go runtime is still listed
> as experimental. Only Java 7 and Python 2.7 are labeled as
> ready for production.
>
> The problem is that D will stay at 95% done forever without
> proper management.
>
> A common thumb-of-rule is that 90% remains to be done when 90%
> of the code is written. I.e. the final polish, refactoring and
> maintenance is the most work. Don't underestimate the
> importance of the last 5%.
>
> Go is lack-lustre, but it is more mature than D.
>
>> So people from the outside have the impression that it's a bit
>> of a mess and they are ignorant as regards features and
>> improvements.
>
> The process is a mess if you don't do feature freeze on one
> version that is mature and keep it in maintenance mode (only
> receiving safety bug fixes and focusing on stability).
I'd say half-baked refers to real world usability. Nimrod would
be half-baked, because it is still young and a lot of features
will change (breaking changes). The language sounds interesting,
but I wouldn't touch it right now. D on the other hand is already
perfectly usable for production code, which, for me, is the most
important thing. Whether or not the whole infrastructure is good
enough (there's always room for improvement) is not so important
for this particular aspect (i.e. actual coding). I started to use
D before dub was the official package manager. Although I use dub
a lot now, I could manage without it for two or more years (which
in turn says a lot about D itself).
Here's a list of Go apps:
http://go-lang.cat-v.org/go-code
Similar to D apps. Some of them still going, some of them in a
limbo, some of them dead (would be nice to know why they were
discontinued). I wonder how safe it would be to use Go in
production (breaking changes, availability / implementation of
useful features etc.)
> Note that on Google App Engine the Go runtime is still listed
> as experimental. Only Java 7 and Python 2.7 are labeled as
> ready for production.
They are listed as "experimental" partly for legal reasons, I
suppose, and "ready for production" still means "experimental".
All software is experimental. No matter how you label it. Java
has moved very slowly over the years and I think Go has kind of
slowed down a bit. D is still moving quite fast as regards adding
features and improvements and is remarkably stable and reliable.
More information about the Digitalmars-d
mailing list