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

The D programming language

Started by red_sodium Jul 8, 2004 at 6:19 PM 120 replies 19.6k views
Original Post
red_sodium
red_sodium
D programming language Apparently It's like an improved C++. Does anyone believe this'll ever amount to anything special?
"Learn as though you would never be able to master it,
hold it as though you would be in fear of losing it" - Confucius
SiCrane
SiCrane
There's another thread on this topic going on right now here.
C-Junkie
C-Junkie
No. search to find out why, there have been threads on this many times beore.

In short, I think that D:

1. Offers no significantly useful features that C++ lacks (outside of GC)
2. Removes some significantly useful features of c++ (like templates and MI)
3. Just plain is not supported by all useful libraries.
Chris Hare
Chris Hare
I doubt that D will ever take off, especially now since C# and Python are gaining enormous popularity. C++ will be around for a long time yet, though. Like it or not, a non-microsoft language has to be pretty radical to succeed these days.
Red Ant
Red Ant
Can you actually compare Python to C++? I was under the impression that Python is a scripting language like Perl.
Red Ant
Red Ant
Oh and another thing, is C++ still evolving or have we like reached a point where everything is pretty much set in stone? I mean if it keeps evolving it can still remain competetive, right?
Puzzler183
Puzzler183
Uh, D does support templates if I understood the website correctly so I don't know what you're talking about. I do agree with the thing about it not taking off though.
amedlock
amedlock
Quote:
Original post by C-Junkie
No. search to find out why, there have been threads on this many times beore.

In short, I think that D:

1. Offers no significantly useful features that C++ lacks (outside of GC)
2. Removes some significantly useful features of c++ (like templates and MI)
3. Just plain is not supported by all useful libraries.


If you are going to post, please at least read up on the language before you do so.

All three points are false.
Chris Hare
Chris Hare
C++ and Python can only be compared in terms of productivity, ease of use, power, expressiveness etc. Python is not just a scripting language (if you say that three times, petewood appears ;) ). Python is already very popular, and for good reason.

C++ is still evolving. The language specification probably won't change again, but new libraries appear all the time. Seriously, C++ is the cornerstone of most CS industries, and will be for a long time. But man, it needs interfaces badly...
Houdini
Houdini
Quote:
Original post by Red Ant
Oh and another thing, is C++ still evolving or have we like reached a point where everything is pretty much set in stone? I mean if it keeps evolving it can still remain competetive, right?

Yes, C++ is still evolving. However, the next revision (called C++0x) has been in the works for several years now, and yet isn't expected to be out until around 2008.

While they are making some nice additions to the language they are moving very slow. Too slow, IMO.


- Houdini
Houdini
the Speed Bump
the Speed Bump
I see D as sitting in a sort of nirvana-like middleground between C#/Java and C++. The language is similar to the former and can be written in very much the same style, but is still capable of the sort of cycle-shaving pointer operations that have kept C in favour through the ages. Also, unlike C# and Java, compiled D applications are plain old protected mode executables, free of any bulky runtime library.

D templates are a half-step away from C++ in terms of sheer expressivity as the compiler does not attempt to deduce template parameter types. Things like boost.spirit aren't so practical, but they're still quite useful for most everything else. typeof is a big help in this regard.

(needless to say, they beat the pants off C# generics)

The gap left by the lack of multiple inheritance can almost always be filled nicely with interfaces and mixins.

D's strength isn't that it offers something new and revolutionary so much as a simple, robust tool that still manages to be compact.

(and holy hell is the compiler ever fast. It's kind of weird to watch it compile/link about 27000 lines of code in a second)
"There is only one everything"
GnuVince
GnuVince
I don't think that D is big enough a change from C++ to make it become popular. I think that it could probably have been really interesting if it had had one of the feature that makes Ruby and Smalltalk so powerful (among many others, it must be said): blocks of code. The possibility to send a block to a method. This would open so many possibilities, and you'd really have something over C++.
Queasy
Queasy
I thought some of you might be interested in some games that were coded in D.

http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html

the game is parsec47 by some japanese bloke. He writes a lot of games in D. Most of his games come with source code as well.

Also his english translation is not very good but you should be able to get the gist of it.

-j
Jonathan Makqueasy gamesgate 88[email=jon.mak@utoronto.ca]email[/email]
red_sodium
red_sodium

Libraries take time to develop, you can't fault us for not having absolutely everything within the first few years. Oh, have you ever used the OGRE engine? There's an official effort (called Sinbad) to port it to D. And were you aware that D is being looked at for development on the Playstation-Portable?
[/QUOTE]

By using the term "us", does that mean you were involved in D's development? I'm interested to know how many people were involved in the development of the language & compiler.

I must say that now I know it has potential, I'll probably download the D compiler and learn some of the language, and hopefully I'll be condoning it :)
"Learn as though you would never be able to master it,
hold it as though you would be in fear of losing it" - Confucius
billy_zelsnack
billy_zelsnack
That is one of the coolest bits about D. You can hang out in the forums and contribute to the development of the language.
very unhelpful and/or unfriendly
clayasaurus
clayasaurus
First I learned C, then I learned C++, and now I've learned D. I'd say it is a pretty natural progression.

The C language is fast, light, powerful and gets the job done. However, it takes a lot of code to get the job done right.
C is great for low level stuff, but it takes a really talented C programmer to crank out a super cool program (game engine). The fact is, if you want the job done quicker, C++ can do that for you.

C++ is a nice language. It supports objects and templates, and is very flexible. In fact, I feel tempted to say that it is too flexible. C++, being compatible with C, has all the legacy C code (pre-compiler def's and macros), along with all its spiffy new features. However, writing a big application is C++ no cakewalk. There are so many different ways to program and the compilers are so flexible it makes it harder for a bunch of programmers to write code that works with each others.

D is a great language. It benefits from the pitfalls of C and C++ since most of the people programming D have experience and pet peeves with both and it also brings higher level ideas of java/c# to the table while still compiling natively to the machine and keeping the speed of C. While D is not 1.0 yet, it is very close (.95). As a c++ programmer, one of the best things D does is not support pre-compiler which makes the language a lot less confusing. It also has built in support for resizeable arrays and templates which saves me from the horrible c++ template like syntax for vector and others. Another things which makes D stand out is that it either compilers or it doesn't. There are no such things as warnings in D, it is either treated as an error or it compiles, which makes it less likely for D programmers to write "questionable" code. Overall, D is just a joy to program with, it is extremely easy to learn if you already know c/c++/java. I give it two thumbs up.


VThornheart
VThornheart
What's with the sudden sparked interested in D (as seen by the posts lately)?

Come on, tell the truth... you're getting paid to advertise the D language in our forums, aren't you? ;)
-Vendal Thornheart=) Programming for a better tomorrow... well,for a better simulated tomorrow. ;)
clayasaurus
clayasaurus
Hehe, what do you think we are, microsoft? :) j/k

I don't think anybody's getting paid for D. I don't even know if Walter's getting paid to make D. It's love i tell you, and curiosity, and hope for something better. I dunno who started the original post, but links to these forums were provided on the D forums, so I'm just comming here as a GN.net semi-regular and D forum reader expressing my love for D. Read into it what you wish, but it's just my honest opinion.

*cheers*
C-Junkie
C-Junkie
Quote:
Original post by Anonymous Poster
Quote:
Original post by C-Junkie
No. search to find out why, there have been threads on this many times beore.

In short, I think that D:

1. Offers no significantly useful features that C++ lacks (outside of GC)
2. Removes some significantly useful features of c++ (like templates and MI)
3. Just plain is not supported by all useful libraries.


1. Built-in dynamic arrays and associative arrays, built-in design-by-contract (including pre/post-conditions and class invariants), unit-testing, strong typedef, explicit overrides, conditional compilation Without Macros, debug statements, typesafe variadic functions, properties, package-level protection attribute... I'm tired of listing things.
Like I said. Nothing special. only properties appeals to me somewhat, and C# offers that and a hell of a lot more than D
Quote:
2. We have Templates in D. And we have no need for MI.
Is the template mechanism Turing-complete? and MI has a use. (see: effective use of MI with the iostream library)
Quote:
3. I'm not even sure what you're trying to say here. Libraries take time to develop, you can't fault us for not having absolutely everything within the first few years.
Sure I can.

If the language did something NEW, lack of libraries could be forgiven, but D is just another language trying to squeeze in between C#, Java, and C++.

The language might be "better" than c++...If it had hit the market at the same time as C++, it may have been the language that won, but right now C++ is entrenched and not going away and C# steals away any niche space D might have been able to occupy.

If you want to use an underdog language, go with LISP. :)

Topic Locked

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

Sign in to reply to this topic.