Jump to content
  • Advertisement
Sign in to follow this  
Concentrate

Whats up with D?

This topic is 2549 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm looking at their features and it seems to be very similar to C++ but better? For example, I love their inline array arithmetic like int[] formula = values[] * PI + shiftValues . It seems to have features lacking in C++ as of right now. So whats stopping from people moving towards D? I understand some companies are invested in their own language but how about the general community? I mean what language can generate a ray tracer image in compile time with their meta programming techniques?

Share this post


Link to post
Share on other sites
Advertisement
Why don't people use D? For starters, it is not backwards compatible with C, which is one of the main advantages of using C++. With C++, you have access to an uncountable assortment of libraries written for it or C. I'm not sure what the perfromance is like, but it's hard to beat C++. Also, there are already a lot of people with C++ experience and not many people who are ready to drop it and learn a new language just because it has some nifty bells and whistels like inline array arithmetic. There would need to be a much better reason for switching languages.

Also, with the long needed C++11, I'd say that C++ is probably starting to catch up to languages like D.

Share this post


Link to post
Share on other sites

Why don't people use D? For starters, it is not backwards compatible with C, which is one of the main advantages of using C++. With C++, you have access to an uncountable assortment of libraries written for it or C. I'm not sure what the perfromance is like, but it's hard to beat C++. Also, there are already a lot of people with C++ experience and not many people who are ready to drop it and learn a new language just because it has some nifty bells and whistels like inline array arithmetic. There would need to be a much better reason for switching languages.


Its not just nifty bells and whistles only. It also provides type safe operations like C++ and better template mechanism and more. The compiler is better written because of the language construct, ex the inline arithmetic allows the compiler to choose how it handles the loop internally. I know there is already a lot of company binded to C and C++. I know it would be nonsensical to just drop that. What I was suggesting was why as of right isn't there more populairty towards D. Maybe there is an I'm just out of the loop or something. And about the libraries, I wouldn't say there is an 'uncountable assortment of libraries'. In fact, I think the standard library doesn't have as near libraries as it should.

Share this post


Link to post
Share on other sites
Because there's a ton of libraries for C/C++, and I don't want to have to reinvent the wheel (i.e. recreate SFML, libcurl, Box2D, etc, etc). Plus the fact that there are C/C++ compilers for a ton more platforms than there are for D.

Share this post


Link to post
Share on other sites
Well, for one thing D isn't as magical as it might seem. Many of the D features have been part of other languages for decades before D was released. You can use C++ templates to create a compile time ray tracer image, array arithmetic is nothing new, etc. D's basic problem is that there are higher level languages that are more productive and lower level languages that are easier to produce optimized code. Maybe D would be more popular now had it launched earlier or hadn't made as many missteps in the first few versions. I know some people were put off by the authors original statement that D wouldn't have compiler warnings (which of course he changed his mind on) and the standard library split in D 1.0 made people stay away from what seemed like a fractured, incomplete language. Even now there are still practical issues working with large programs interacting with D because of issues with potentially multiple garbage collectors being instantiated across individual DLLs.

Share this post


Link to post
Share on other sites

In fact, I think the standard library doesn't have as near libraries as it should.


I was actually referring to 3rd party libraries.

Share this post


Link to post
Share on other sites
Every year, without fail, there is someone who asks this question - "what's up with D? Why hasn't it replaced C/C++ by now?". The answer is pretty much the same as always; D isn't legacy compatible.

The one reason why C++ could gain such a market lead is because of it's compatibility with C. As long as a legacy codebase could 'slowly' be molded over to C++ it was alright. Other than that, all the reasons listed above.

Share this post


Link to post
Share on other sites
I have been following D for a while and my impression is that the version 2 of the language is constantly changing, something that prevents the Tango library to be ported from version 1 to version 2. The Phobos library is not mature, and having to choose between them is not exactly a selling point imo.
For a language to be backed up by commercial companies also matters more than I like to admit. Look at the Go language from Google for an example.
What Sicrane said does make some sense also, the language seems to be between a rock and a hard place in many ways.
Personally I think D is a better C++, and I like how they try to make features optional in such a way that the users can turn them on or off easily through code instructions.

Most of the "problems" the languages faces could be fixed by a bigger and more persistent community and support from large projects and companies.

Here is a interesting video that discusses some of the prospects of the D language
[url="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond"]Scott Meyers, Andrei Alexandrescu and Herb Sutter: C++ and Beyond[/url]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!