D is the language that should have followed C. Well it should have if languages progressed as letters of the alphabet, but this really isn't the case. D did get some attention, but it never achieved the number of users need to put it in the same category as C or C++. However, it isn't dead. In fact it is far from dead as it has just been added to the GCC. Is D a language you should consider?

The GCC, GNU Compiler Collection, is the almost official compiler in the Linux world and for some languages it is the defacto standard. To join the GCC is a mark that a language has to be taken seriously and for D to be adopted so late in its life is news. Currently GCC supports C,C++, Objective C, Objective C++, Fortran, Java, Ada and Go. The D language support was announced on 21 June 2017:

"I am pleased to announce that the GCC Steering Committee has accepted the D Language front-end and runtime for inclusion in GCC and appointed Iain Buclaw as maintainer. The patches still require approval by a Global Reviewer."

It seems that the effort has mainly all been down to one man, Iain Buclaw, as documented in his 2017 DConf talk. Earlier in the year D managed to transform into a fully open source language when Symantec gave up some rights to part of the code.

All of this proves that D isn't a forgotten language, but it doesn't account for why it is a language that most programmers haven't heard of, let alone encountered? Part of the reason is that D hasn't got a big corporate sponsor. It started life with a relatively small company, Mars, behind it and it was even called MARS for some time. D started out in 1999, but didn't reach version 1.0 till 2007 and didn't really settle down until 2010 with the publication of The D Programming Language by Andrei Alexandrescu which is still in print and regarded as the standard work on D.

There are other books on D but not as many as you might expect for a 15-year old language and it currently ranks 22 in the Tiobe index, in the same region as Dart, Cobol, Ada and Lua.

What all this means is that D is still alive, but it has never achieved the sort of trendy adoption that more recent languages such as Swift, Go and Rust have. These three are the languages you want to add to your resume. If you added D then you would probably have to append a note explaining what it was.

So what does D have to offer?

Put simply it is a better C and a better C++. It is a language that was implemented after other languages demonstrates how not to do things. In this sense it occupies a position much like Kotlin and its relationship to Java.

D is binary-compatible with C and my guess is that it would like to be binary-compatible with C++ if only there was a single standard for binary files in C++. As a language it is strongly typed with type inferences, single inheritance, interfaces, lambdas, closure and a memory manager. Although it does have a memory manager you can still do things manually if you want to use malloc and free. You can write code in the functional or object-oriented style and it has support for metaprogramming, concurrent programming and low level programming. As such you can see that it isn't a very opinionated language and is really just C/C++ with some modern facilities.

You can try D at the website without having to install anything

Would I advise you to invest time in D?

Of course, learning a new language is always a good thing to do, if only for what it shows you about your existing languages. In this case, though, I don't think I would recommend committing to it unless you really know what you are up to.

Languages have withered in the GCC as well as thrived. Java was removed in 2016 for example. However the GCC doesn't take on languages lightly. My pessimism is more to with there being little reason to think that D is going to become the latest viral language with so many currently vying for your attention and with Python about to take over the world.

More Information

https://dlang.org/

Related Articles

RedMonk Rankings Reveal The Languages We Love

The Red Programming Language

Go 1.8 Goes Faster

R 3.4 Brings Performance Improvements

C Slides In TIOBE Index

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, Facebook or Linkedin.







Comments



Make a Comment or View Existing Comments Using Disqus





or email your comment to: comments@i-programmer.info

<ASIN:0321635361>