Is D Language mature for MMORPG Client ?

Kapps opantm2+spam at gmail.com
Fri Aug 3 20:11:59 PDT 2012


On Saturday, 4 August 2012 at 02:20:45 UTC, Stefan Scholl wrote:
> Wow! The answers here aren't very encouraging for new D users.

But the answers will be no better for any other language:


C++ is a terrible language to make a game in.

-Unmaintainable code
-Template bloat everywhere
-No garbage collection, inevitably causing memory leaks
-Due to no garbage collection, higher overhead passing references 
around with smart pointers.
-Difficult to code cross platform for.
-Disappointing lack in standard library
-Confusing build system supporting portability issues.
-Different features supported by different compilers, even in 
different ways.
-Features that may result in your engine giving undefined 
behaviour everywhere.
-Many features are not implemented yet, let alone widespread.
-Threading is not part of the language, when games now-a-days 
tend to be heavily multithreaded for maximum performance.

C# is a terrible language to make a game in.

-Can be difficult to interop with C/C++ libraries.
-Code can be decompiled easily and stolen, even obfuscated.
-Bugs can be easily found and exploited due to IL code.
-Does not compile to native code, so your game will have 
performance issues.
-Overhead when calling native code.
-Your game may not easily run on every platform.
-Different compilers (all two of them) support different parts of 
the language.
-Forces your userbase to install yet a second product for .NET 
runtime and/or Mono.

Etc. The actual significant issue I would say for active 
development of an MMORPG client is the garbage collector. It will 
get fixed eventually, but it's supposedly not up to par yet. Of 
course, you can just use manual memory management if you're so 
inclined. However for a 2D game, this won't be an issue I 
believe. You *will* have to make some minor changes every now and 
then when DMD gets breaking changes, but I've never encountered 
one yet that's a non-trivial fix.


More information about the Digitalmars-d mailing list