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