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

What do you think of the D language?

Started by stephenfx Aug 16, 2006 at 8:14 PM 92 replies 25.1k views
Original Post
stephenfx
stephenfx
It is an exciting language for me. It is a system level programming with garbage collection and many other features. Is there anyone using it for game programming? I can’t keep myself from try it! It’s just what I need. If you had never heard about D, please take a look at: http://www.digitalmars.com/d/index.html
robotichrist
robotichrist
I've been using it for awhile now and so far I like it. Even though the current standard library is a bit rough it is still more than usable for games. Here is a game I wrote for a school project using D:
http://www.csl.mtu.edu/cs3141/project/group2/www/

And I have several other simple examples on my website:
http://assertfalse.com/

If you want to do anything game related, I highly recommend you check out the Derelict bindings:
http://www.dsource.org/projects/derelict
smr
smr
It's ok, but IMO .NET is better. And yes, I've tinkered enough with D to know.
_the_phantom_
_the_phantom_
ah, this month's D thread... let the language wars begin!
Alpha_ProgDes
Alpha_ProgDes
Quote:
Original post by smr
It's ok, but IMO .NET is better. And yes, I've tinkered enough with D to know.

For the uneducated how so? And are you comparing D to the whole .NET framework or just say C#?

For the record, I'm uneducated so I come here to learn [smile]
Beginner in Game Development?  Read here. And read here.  
amnesiasoft
amnesiasoft
It seems to be a pretty nice language so far, I imagine after it has matured a bit (what's it at, 0.69?) it'll be a very good language. Also, a decent IDE would be likely to increase its popularity a lot (sure you can use C::B, but it takes too much effort to set up)
cignox1
cignox1
I never used it and since I have another couple of languages to learn before D, then I wont use it soon, but the features list is pretty nice and some of them are those I would expect to see in the C++, if only they updated it.
nmi
nmi
Quote:
Original post by amnesiasoft
It seems to be a pretty nice language so far, I imagine after it has matured a bit (what's it at, 0.69?) it'll be a very good language. Also, a decent IDE would be likely to increase its popularity a lot (sure you can use C::B, but it takes too much effort to set up)


There is an eclipse plugin called DDT at this site:
http://www.dsource.org/projects/ddt

However it was not updated for 5 months. Maybe the programmer there needs some help ?
Nitage
Nitage
It's got a lot of features I'd expect in an improved C++ but, for reasons passing understanding, they've also removed some features:


  • The = operator can no longer be overloaded - so correct reference counting can't be implemented. They argue that it's unnecessary in a garbage collected language, however, they've overlooked the fact that it's sometimes necessary to manage resources other than memory - in paticular sometimes you need resources to be destoyed when they're finished with, not at some non-deterministic point after they're finished with)

  • They've removed const. The argue that it 'adds nothing' seeing as it can be circumvented via const_cast.I notice the language still uses static typing thoughm even though it 'adds nothing' due to reinterpret_cast



C++ serves me very well as a statically types compiled language - I'd be happy to upgrade to something better in every respect, but I can't be bothered with a 2 steps forward, 1 step back approach.
manuelb
manuelb
Quote:
Original post by Anonymous Poster
i don't think much of it... err... rather not at all. i've had one primary programming language, C/C++, for the last 14 years (I started using C++ before any compiler even had templates!), and am now learning C# (the .NET 2.0 FCL is much better than the 1.X versions so I think it's finally a good time to learn C# now and so far I'm enjoying it).

when it comes to learning new languages the first things i worry about are... "is it going to get me a job?", "is it going to keep me employed?", and "will i still be using it 10 years from now?" i don't think D satisfies any of those so not yet, but maybe in the future?

Y-Go



well, I've being working as a system analist and programmer for 7 years, when it comes to learning new languages the first thing i worry about is.. "is it cool?" Well, I have to learn a new language on the fly almost every new project I start, so, when I can decide witch language to learn I choose the cool ones.
--------------------------Rory Gallagher and Chico Science music !!!!!!!---------------------------____||~~~~|/TT
nmi
nmi
Quote:
Original post by Nitage
The = operator can no longer be overloaded - so correct reference counting can't be implemented. They argue that it's unnecessary in a garbage collected language, however, they've overlooked the fact that it's sometimes necessary to manage resources other than memory - in paticular sometimes you need resources to be destoyed when they're finished with, not at some non-deterministic point after they're finished with)

Maybe the inventor of D was not aware of this fact. However you can use the 'auto' keyword to achieve RAII, i.e. destroy the object when it goes out of scope (and trigger freeing of resources).

Quote:

They've removed const. The argue that it 'adds nothing' seeing as it can be circumvented via const_cast.I notice the language still uses static typing thoughm even though it 'adds nothing' due to reinterpret_cast

You mean 'const' in the declaration of function parameters ?
At least it seems possible to use const as attribute of variables:
http://www.digitalmars.com/d/attribute.html
http://www.digitalmars.com/d/declaration.html

Quote:

C++ serves me very well as a statically types compiled language - I'd be happy to upgrade to something better in every respect, but I can't be bothered with a 2 steps forward, 1 step back approach.

That's effectivly one step ahead. There is also a forum on the digital mars site where you may give comments or suggest improvements.
Nitage
Nitage
Quote:
Original post by nmi
Quote:

They've removed const. The argue that it 'adds nothing' seeing as it can be circumvented via const_cast.I notice the language still uses static typing thoughm even though it 'adds nothing' due to reinterpret_cast

You mean 'const' in the declaration of function parameters ?
At least it seems possible to use const as attribute of variables:
http://www.digitalmars.com/d/attribute.html
http://www.digitalmars.com/d/declaration.html


Look more carefully:
Quote:
The const attribute declares constants that can be evaluated at compile time.


It isn't possible to declare a parameter as const (meaning 'this function will not alter this parameter'). You can declare a constant variable in D, but you can't create any kind of a const reference to a variable.


smr
smr
Quote:
Original post by Alpha_ProgDes
Quote:
Original post by smr
It's ok, but IMO .NET is better. And yes, I've tinkered enough with D to know.

For the uneducated how so? And are you comparing D to the whole .NET framework or just say C#?

For the record, I'm uneducated so I come here to learn [smile]


D's runtime library, phobos, stinks. I believe that there exists a group who have taken it upon themselves to write a replacement for it. Maybe I'll give it a go after that materializes. The .NET framework is much more complete and much more stable, in the sense that you don't have to worry about it changing between minor versions.


MaulingMonkey
MaulingMonkey
D just doesn't do it for me. Too many alternatives that are in my eyes both more mature and more useful within my scope of projects.
stephenfx
stephenfx
Quote:
Original post by robotichrist
I've been using it for awhile now and so far I like it. Even though the current standard library is a bit rough it is still more than usable for games. Here is a game I wrote for a school project using D:
http://www.csl.mtu.edu/cs3141/project/group2/www/

And I have several other simple examples on my website:
http://assertfalse.com/

If you want to do anything game related, I highly recommend you check out the Derelict bindings:
http://www.dsource.org/projects/derelict


hello,
Which debugger are you using? I have tried Visual studio. I can step in the source file lines, and the call stack is shown, but the variable is not shown correctly. I can’t find a full function debugger for D.
Telastyn
Telastyn
Maybe for you (OP), but not for most of the world. If I'm doing system level programming, I want something mature and with good library/documentation/community support. C/C++ are there, D is not. If I want something better than C++, I don't want system level programming, and I don't want something which still ties itself to C.
snk_kid
snk_kid
Instead of wasting everyone one's time you can read this thread where the clueless D community talk behind my back (in there mailing list), misunderstand me and call me a "C++ fanboy" (which is so wrong i don't know where to begin). Furthermore there response to my posts (and some others) where unconvincing or never answered all questions/issues raised.
manuelb
manuelb
Quote:
Original post by snk_kid
...misunderstand me and call me a "C++ fanboy"...


but of-corse you're a SNK fanboy :).
hehehe, sorry for the off-topic, I couldn't resist.
By the way, I'm a SNK fanboy too.
--------------------------Rory Gallagher and Chico Science music !!!!!!!---------------------------____||~~~~|/TT
clayasaurus
clayasaurus
I'm developing a 2D Game library in D and I like it :-P

I see nothing wrong with D but I know that if I do, the language creator is very open to suggestions and criticisms.

As for problems with the standard library, most of the usual things you would need a standard library for are built-in to the language itself.

I think D lends itself to game programming very well, and if you want to see a successful conversion from C++ project to D look at shorthike http://www.shorthike.com/ http://www.shorthike.com/trac
Sneftel
Sneftel
D tries to fix the shortcomings of C++ by adding new language features. This is a little bit like trying to fix a wrecked '53 Volkswagen by adding fins and a periscope.

Topic Locked

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

Sign in to reply to this topic.