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.

Reply via email to