The One With D News and Opinions of the Digital Mars D Programming Language

4Mar/100

Back in Korea

I've returned from my trip to Atlanta. Over the next few days I'll be getting back into my groove. One of my top priorities is to get Derelict2 ready for release, so I'll start working toward that end in the next few days. In the meantime, my ears are on again, looking for D news. If you notice anything interesting related to D outside of the DSource forums or the D newsgroups, do let me know at aldacron@gmail.com.

Filed under: General No Comments
25Dec/090

Happy Holidays!

Whatever form your celebrations take this holiday weekend, I hope you find happiness in it. Personally, I'll be heading to a Christmas party with my wife and another couple. I doubt we'll stay long, though, as my wife and I did a bit too much celebrating last night!

Filed under: General No Comments
3Dec/094

New Theme

I got tired of seeing the same theme for so long, so I've switched to a different one. If you notice any problems or have difficulties with font/colors/whatever, please let me know in the comments section of this post. Thanks!

Filed under: General 4 Comments
14Nov/0913

My Thoughts on D’s Future (or How I Came to Love D2)

Many programmers are quite passionate about their language(s) of choice. I don't know what it is. Something in the DNA, perhaps. Every negative word written about the language is taken personally. Every personal disappointment regarding design decisions becomes another piece of evidence that the language is doomed to fail. Java has been on the brink of failure for most of its existence if you listen to a number of vocal users who have posted in different forums and newsgroups over the years.

With D, the phenomenon seems exaggerated, I think, because the vocal community is a larger percentage of the relatively small whole. And when a prominent member of the community lets their frustration about Bugzilla #whatever be known, it seems as if the sky is falling and the language is destined to crash and burn in a spectacular ball of fire. Who's going to adopt a language that can't even get that particular issue straightened out?

And then there are the related issues of tools and libraries. If there's no IDE that can fill in half of a module with a single click, who's going to want to use D? Text editors are so archaic that useful programs just can't be written with them. And without a debugger on par with that found in major IDEs, serious software isn't going to get made. And, OMG, there are *two* standard libraries! What's a poor, helpless programmer to do?

My take on all of this can be summarized in one word... Bullshit!

I'll admit that I was quite turned off by D2 in its early stages of development. The fact that it was turning into a completely different language from D1 just didn't set well with me. But over time, a number of events have occurred that have completely changed my mind and made me look forward to D2's final release. There's the fact that Walter brought on additional developers, such as Andrei and Bartosz. Phobos was added to DSource. DRuntime was adopted. The source of the back end was opened up. Don Clugston stepped forward to squash compiler bugs and patch in new features. Several community members contributed patches. Input from the community resulted in changes and improvements, moreso than in the days of D1's development it seems. As a result of all of this and more, D2 has, within the past few months especially, begun to blossom into something quite special.

The foundation is there and it is being built upon step-by-step. Why would anyone expect D to become widely adopted almost the instant it is released? It takes time for a language to gain mindshare among corporate interests. It needs to be tried and tested, sure, but it also needs to be deemed free of legal issues. It needs a good reputation. And in order for that to happen, it needs people to use it independently, for hobbies and small business projects. D1 is great for those who use it, but there are certainly warts that make it unsuitable for large scale development compared to existing languages. I don't believe it ever had a chance. But D2 definitely does. Because of the effort behind it, it is addressing D1's shortcomings and looking to meet the demands of modern software development. The D2 I see now is a far better language than the one I saw several months ago, for sure.

As for the Phobos vs. Tango debate, it's a moot point at the moment where D2 is concerned. But to be honest, I never understood the issue about "two standard libraries". To me, Tango is not and never has been a standard library. There is only one standard library, and that's Phobos. Tango is an alternative to the standard. Yes, there's a real issue in that some libraries support one and not the other. But one of the aspects of project development is deciding which libraries to use. In C++, you have to decide whether or not to use the STL, and these days whether or not to use Boost. Once that decision is made, you have to decide which bits of STL or Boost you want to use. Then the libraries you use may or may not make use of either STL or Boost, which may or may not affect your memory allocation strategy or your build management. I fail to see how choosing between Phobos and Tango is any worse. With D1, you pick one and stick with it or you try to accommodate both. Either way, you plan your project around your decision and life goes on.

You can complain that D is not suitable for large scale software development because there aren't enough tools and libraries. You can say that without feature A, this group of programmers will be turned off, or that feature B will alienate that group of programmers. You can point out that no one in a position to do so is going to risk thousands or millions of dollars of their development budget on a language that has yet to go mainstream. You may be absolutely right. But to say it's never going to happen for D is completely off base.

D has momentum. The community fluctuates and its always hard to tell just how big it is. But there are always new names in the newsgroups and IRC. And these days, mention D in any programming forum and a number of people will have heard of it. I sometimes get email regarding Derelict from people I've never heard of, asking about one thing or another. People are actually using D, even if we never see what they're doing with it. And that's a good thing.

Personally, I don't care one way or another if D becomes the next big thing in the corporate world. As long as it's available for me to use, I'll be happy. And as a small part of helping that to happen, I'll keep this blog going and work on Derelict when and as I can. I have more projects I'd like to work on if I can find the time. And that's how D will eventually become more pervasive. Whether you contribute to existing open source projects, start your own, or even develop in-house or commercial software, just using D brings it that much closer to the big leagues.

So it would be great if people could stop with the doom and gloom scenarios and stop worrying about who's going to use D and who won't bother with it. It would be much better to focus all of that energy on helping to get D2 finalized, or enhancing the quality and quantity of tools and libraries. That's the foundation. The rest will come in time.

Tagged as: , 13 Comments
19Jan/090

Yage Updates

Eric Poggel (JoeCoder) has updated his open source, 3D game engine, Yage. It now has a revamped sound system that "is much more stable than the last and much better about cleaning up OpenAL resources." He has also put up a features list, where you can see what's currently implemented and what's still missing.

Eric is also looking for volunteers to contribute to the project. To that end, he has put up a list of tasks that he would like to see implemented. If nothing there strikes your fancy, you might find something on the roadmap.