I use D, as most of my friends know. I’ve been using it for about five years (though I’ve known of it since even 2003). In those five years, I’ve seen the language and its community grow and change. It’s had an enormous impact on me as a programmer, since it’s the first real language that I’ve gotten to know intimately. It’s shaped the way I think about approaching and solving problems. I think it’s an amazing language, for the most part.
But having watched D’s development over the past five years, I don’t honestly know where it’s going to be five years from now. The development of the language, compiler, and libraries is so disjointed, incomplete, and unstable that I can’t recommend this language to others with good conscience. And it’s a Goddamn shame, too, since the language is great! Most of the issues lie instead in the practical aspects of implementation than in the theoretical aspects of the language’s design. These practical problems are the kinds of things that you can only find out about by getting your hands dirty with the toolchain and by participating in the community, and I’ve decided to compile many of them together here.
I’ve seen many people say whether or not they think D has a future. I honestly can’t say whether or not it does. Having used it for so long, I’m of course biased to think of course it has a future! what would I do without it? But stepping back and looking at it objectively, the present looks pretty.. well, I’ll let you decide.
Man, you can complain like no one else! I’ve done what I can to improve the situation. I’ve developed my library, and provided input on language and library design, and made some (admittedly weak) attempts to help out on other projects. All I’m doing with this post is pointing out what the current problem areas are in D’s current incarnation. I don’t even pretend to have the time or skills to solve most of these problems.
These are just implementation-specific issues. A better implementation wouldn’t have these problems. Thanks for pointing out the obvious. Where’s the better implementation? D’s been in development for almost ten years. The current situation is pretty shameful.
Let’s not get ahead of ourselves by asking whether or not D has a future. Let’s fix the problems it has now. And if we fix them, then D will at least have a fighting chance of having a future.
You must be logged in to post a comment.