Skip to main content
GameDev.net gamedev.net
🔒 Locked

D [programming language]!?

Started by openglJunkie Jan 9, 2009 at 12:06 PM 66 replies 17.3k views
Original Post
openglJunkie
openglJunkie
I remember it just like it was yesterday when I started to learn C++ and recognized it as the most powerful language (from what I read). Now, this thing called "D" comes along and makes me wonder when if ever it will replace C++ and C++ will be equivalant to Visual Basic (j/k). http://www.digitalmars.com/d/
jpetrie
jpetrie
Blah blah blah. Somebody "discovers" D every few months and wonders the same thing. It's not new, it's been around for ages, and is hasn't really taken off yet, certainly not to the extend C++ or newer languages like C# have. It doesn't offer a whole lot that's novel these days.
pinacolada
pinacolada
There is no "most powerful language", because a language's power depends totally on the problem domain. Instead you could say that one language is the "most appropriate for problem X".

There are a lot of C++ alternatives out there (Objective-C is another one). The biggest shortcoming with all of them is that they don't have as strong of a community behind them, so there are fewer available libraries, fewer development tools, and fewer people that know how to use them.
Oluseyi
Oluseyi
D is an evolutionary dead end.
Oxyd
Oxyd
D needs more advertising -- just like Java did. [grin]
ToohrVyk
ToohrVyk
I agree with Oluseyi: D is an evolutionary dead end.

The language has been around for a long time and despite its advantages has failed to become popular. It won't die unless all its fans get bored or run over by a bus, but if it had what it takes to become a mainstream language—a mix of elegance, brutality, power and luck—then it would have taken off by now, and I don't really see what could happen that could change anything now.

Besides, since the language isn't widely used, but doesn't really invent anything new either, I doubt it's going to be used as an inspiration for another language.
Oxyd
Oxyd
Just a question now that we're having yet another of these threads: Has anyone actually done anything more elaborate than Hello World in D who would like to share their experiences with the language?

Perhaps I should pick D for some simple project of mine to learn it and see for myself what it is about.
mich4elp
mich4elp
I have. :P
It's nice programming language, but it doesn't have tools like Java, C++, C#. Don't expect any great debugger/IDE/etc for it.
For gfx game programming, there is Derelict.
What I would use is SFML though.
http://www.sfml-dev.org/forum/viewforum.php?f=13&sid=3cd5509c1052f02a60b624b4a634959a
It is actively updated, and should be updated to the newest SFML 1.4 too.
The newsgroups are useful.
http://www.digitalmars.com/webnews/newsgroups.php?search_txt=&group=digitalmars.D
I don't expect it to be used in professional companies, because of the lack of tools.
But for indie, I think it could be used.
crusadingknight
crusadingknight
Quote:
Original post by ToohrVyk
The language has been around for a long time and despite its advantages has failed to become popular. It won't die unless all its fans get bored or run over by a bus, but if it had what it takes to become a mainstream language—a mix of elegance, brutality, power and luck—then it would have taken off by now, and I don't really see what could happen that could change anything now.

I'd have to beg to differ. The D language (with the Tango runtime) shows promise and may have what it takes to become popular, but the lack of implementation is a killer: few platforms are supported by the reference implementation, and no implementation AFAIK has ever passed the full suite of regression tests. I doubt this will change any time soon, as even the reimplementation projects inherit many of the quirks of DMD by reusing the frontend in their own projects. All told, I check out the language every year or so to see if progress has been made, but the language I'd like to use is still beset with the implementation quirks I'd rather avoid.

[Edited by - crusadingknight on January 10, 2009 11:14:13 AM]
iMalc
iMalc
I think several people have the wrong idea about why D is not popular. I'd say the reason is not in any way related to the language itself, I find the language itself extremely impressive.
The reason it isn't popular is the lack of tools, mainly the fact that it doesn't have a great IDE or debugger, like Visual Studio. Hell if it had that level of support, I'd be using it as my mainstream language over C++, rather than just dabbling in it occasionally.

If D had the same level of tool support that C# currently has, AND vice-versa, then I think the popularities would be the just as reversed.
The bottom line is that most people will use whatever you make easy for them to use.
DevFred
DevFred
Quote:
Original post by openglJunkie
Now, this thing called "D" comes along and makes me wonder when if ever it will replace C++

Why are you even suggesting this? Because D is the next letter of the alphabet? Then surely E must be even greater. And I'm really looking forward to F!

C++ will never be replaced because there is too much software already written in it.
Oxyd
Oxyd
Quote:
Original post by DevFred
And I'm really looking forward to F!


F#? It's got the F -- and it's got the hashmark, just like C# -- that language must be a true pwnage!
DevFred
DevFred
Oh my god...

ABC
DEF

F is twice as far in the alphabet as C, so it must be twice as good! Clearly, F# pounds C++ into the ground as far as power and expressiveness is concerned. Goodbye C++!
M2tM
M2tM
Noobs, F is for failure. It's a garbage language and we should all adopt I+- (Incredible, More or Less).
_____"You're using a screwdriver to nail some glue to a ming vase. " -ToohrVyk
ismetteren
ismetteren
Quote:
Original post by DevFred
Oh my god...

ABC
DEF

F is twice as far in the alphabet as C, so it must be twice as good! Clearly, F# pounds C++ into the ground as far as power and expressiveness is concerned. Goodbye C++!


How many letters does the ++ count for? 1?
DevFred
DevFred
Quote:
Original post by ismetteren
How many letters does the ++ count for? 1?

I don't know, but it doesn't matter anyway, because the # is built from four plus signs.
h3r3tic
h3r3tic
Yay, another D bashing thread :P Since you've already posted a few "D sucks" messages, I might just as well try my usual counter-babble.
I certainly can't argue with it not being popular, but keep in mind that it appeared in 1999 with a very basic release. The '1.0' version is only two years old. At the same time, Python was conceived in 1991 with the '1.0' version in 1994, so it took a while to get noticed as well. C# is a different story, as it has received massive funding from Microsoft and the help of their pretty amazing tools. D doesn't have such a comfort and the most probable way of it becoming popular is by attracting passionate developers who are willing to invest their time mostly for free. Folks spreading misinformation or strong unjustified opinions aren't helping anyone...
The language and its tools are very much alive and getting better each day. Example: the recent release of an LLVM-based D compiler.
To be fair, D does have problems and may not be suited for commercial use if you aren't willing to invest some time into working around occasional issues in compilers and libraries. Heck, I've wanted to ditch it to hell on a few occasions, but there just doesn't seem to be anything better suited to my needs (you can blame that on my ignorance if that makes you feel good :P).
As for non-hello-world projects, here's one of my own and here's another. There are also a few large companies using D commercially with good results and many hobbyists doing pretty crazy stuff with it.
And well, for those stating that D is not going anywhere, you might want to take a look at what Andrei Alexandrescu, Bartosz Milewski and Walter Bright are inventing for D 2.0+? Here's some and more.
phresnel
phresnel
Quote:
Original post by Oxyd
Just a question now that we're having yet another of these threads: Has anyone actually done anything more elaborate than Hello World in D who would like to share their experiences with the language?

Perhaps I should pick D for some simple project of mine to learn it and see for myself what it is about.


Compile Time Ray Tracer.

My opinion is that it might be a fun language, but mainly the lack of a larger community is its problem (on the other end, c++ has been around for ages, too, before it got mainstream). Plus a fully comformant compiler has been around for just 1 or 2 year/s, if am not mistaken.

What I personally see as its biggest feature is its template metaprogramming (see linked example).

Quote:
DevFred
I don't know, but it doesn't matter anyway, because the # is built from four plus signs.


If you are into topology you will recognize it's actually made of two plus signs, or maybe of a single circle with four supertight corners [smile] ... kidding ;)
Oluseyi
Oluseyi
Quote:
Original post by h3r3tic
Yay, another D bashing thread :P Since you've already posted a few "D sucks" messages, I might just as well try my usual counter-babble.

Improve your rhetoric.

You fail to argue the merits of D as a programming language. What advantages does it provide over C and C++, from which it is directly derived? What is its target domain, and how does it compare to existing popular languages in the same category? What interesting or unique features does it possess? Can you show a clever, compact example that illustrates its strengths?

Languages become popular because they're useful, not because of hype. Yes, Microsoft put a lot of money into C# and Visual Basic, and Sun put a lot of money into Java, but all three languages actually met a significant market need - Java the early need for enterprise components that could be leveraged across the network; Visual Basic the need for a facile applications development language for building quick in-house solutions; C# the need for a systems and web development language to accompany a framework that brings some structure (though with it some arbitrary restrictions) to the comparative messes that were Win32 and web applications development. Python garnered attention as a "glue" language and "a better Perl". What's D's deal?

Quote:
And well, for those stating that D is not going anywhere, you might want to take a look at what Andrei Alexandrescu, Bartosz Milewski and Walter Bright are inventing for D 2.0+? Here's some and more.

The first link is to Milewski's blog, which primarily deals with C++. I can't find the post you're thinking of because I have no search criteria. The second link discusses immutable variables (yes, I'm aware that reads like an oxymoron) in D and compiler optimizations, which is interesting of itself if compiler implementation research is your thing. Note that Bright doesn't even discuss reasons why you might wish to employ immutable variables; most languages have immutable values/objects, with no programmer intervention in their creation or immutability (Python strings, for example).

In summary, D is just like C++ with a slightly better compilation model, slightly simplified syntax and much worse community and support. Why would anyone use it?
loufoque
loufoque
C++ has very few too libraries too.
That is, of course, only if you consider libraries that are actually written in C++ and not in C/C++ or C with classes.

As for an IDE, a lot of people avoid that kind of thing like the plague.
Anyway, you can probably get Eclipse or whatever generic IDE to work with it.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.