What is the D plan's to become a used language?
Russel Winder via Digitalmars-d
digitalmars-d at puremagic.com
Sun Dec 21 02:26:26 PST 2014
On Sat, 2014-12-20 at 22:09 +0000, Paulo Pinto via Digitalmars-d wrote:
> On Saturday, 20 December 2014 at 15:14:28 UTC, Bienlein wrote:
> >
[…]
> > Have a look at all the job offers for Go developers here:
> > http://www.golangprojects.com. All those jobs are the result of
> > some hype.
>
> I wasn't talking about Go specifically, rather the adoption of
> technologies in the going up slope of the hype curve in the IT
> fashion world.
I have ignored this thread for a while now as I had assumed most of it
was angst. But I feel I have a few points to make prompted by this
comment.
D was started as a better C++. Technically that may be true, but it
has failed to gain traction in the market. Most C++ people will move
to C++14 rather than D. Most C people will move to Go rather than C++
or D.
Go was started as a better C with added concurrency. Go is not only
superior to C for creating systems applications, it has gained huge
traction. C's role is now well defined as being portable assembler for
case when only that will do. Like COBOL though there will be a lot of C
about for a long time.
And note that Go has a very good garbage collector. Also worthy of
note is that gc produces slow executing code very quickly where gccgo
produces very fast executing code very slowly. Echoes of dmd vs. ldc
and gdc :-)
It doesn't matter that Go may have arrived on a wave of hype, the
language appealed to some high profile people who did things with it
and showed how much better it was than the alternatives. For these
people the alternatives were C and C++. D and Rust are just not in the
game, though Rust when it gets to 1.0 will have an opportunity. Go
now has street cred. The biggest angst is now about whether Google
will pull their funding of the core team.
Perhaps like Haskell, D is doomed to be a language used by few, but
having enormous influence on other languages that are used by many.
Rust has Cargo, just like D has Dub! Go has a complete idiomatic
subframework based on "go get" and DVCSs such as Git, Mercurial and
Bazaar. (Though the last of these is now sadly a dead project since
Canonical removed its funding.)
Rust may not have got to 1.0 yet, but they have a superb framework for
allowing people to upgrade to the latest nightly each morning
(assuming you are happy downloading 160MB). This means people us it
even though the language has regular breaking changes.
So D is battling against C++14, Go and Rust for market share, and to
be honest is failing. This is partly because D is an old language that
never caught on, but also because it has a lack of "new" marketing and
a path to traction. Interminable discussion in these mailing lists
achieves nothing. Trying to tell C and C++ folk they should change to D
achieves nothing. Having a reputation for internal angst and a bad
garbage collector achieves huge negative waves. A language 11 years
old and still in the same "breaking change" situation as Rust, yet
claiming to be production ready isn't helping. Conversely Dub helps
the D cause, code.dlang.org helps the D cause.
What D needs though is some high profile people doing high profile
projects to create a sense of newness. This is the lesson D needs to
take from Go and Rust. Make use of hype rather than just complaining
about it. Set situations up that can be hyped. Hype is after all just
over-enthusiastic marketing.
So what is the D USP on which hype can be hung?
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder at ekiga.net
41 Buckmaster Road m: +44 7770 465 077 xmpp: russel at winder.org.uk
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
More information about the Digitalmars-d
mailing list