August 03, 2012
On 2012-08-03 13:29, Stefan Scholl wrote:

>  From dlang.org:
>      please note: D1 will be discontinued effective December 31, 2012

Right, forgot about that.

> This doesn't mean that D1 will stop working. It just becomes
> "more stable" :-}

Exactly :)

-- 
/Jacob Carlborg
August 03, 2012
Le 03/08/2012 02:22, Robert a écrit :
> Hi all,
>
> im a c++/c# developper and i really want to try D.
>
> I am currently developing a MMORPG, client part is in c++ and
> server in c#, i want to know if D language is "ok" for the client
> side ?
>
> Its a simple 2d isometric game using opengl 3.X (with shaders) so
> its not really a problem if i lose some fps.
>
> Thanks and sorry for my bad english(im french).

ankama ?
August 03, 2012
Robert:

> im a c++/c# developper and i really want to try D.
>
> I am currently developing a MMORPG, client part is in c++ and
> server in c#, i want to know if D language is "ok" for the client side ?

I have one more comment. I see D as a possible future alternative to Ada to write some moderately reliable programs. D is not designed to write programs as reliable as Ada programs (*), but once the D compiler and Phobos will be well debugged, I think D programs will be more reliable than C/C++ programs.

But so far I have not seen people think and discuss of D as a possible future alternative to Ada; most people seem interested in D just as a language to write games.


(*) Ada has many features missing in D that make its programs significantly safer than D programs, like:
- built-in ranged integers;
- user-defined array indexes;
- clean syntax to stack-allocate matrices of runtime-defined sizes;
- pointer kinds with different limitations;
- stack overeflow safeties;
- safe concurrency;
- no undefined semantics;
- explicit type conversions;
- sane modulus on negative numbers;
- integral runtime overflow tests;
- etc etc.

Bye,
bearophile
August 04, 2012
Wow! The answers here aren't very encouraging for new D users.

August 04, 2012
Stefan Scholl:

> Wow! The answers here aren't very encouraging for new D users.

Or maybe some people here know that giving honest technical answers is sometimes a good strategy. If you give false hopes you risk creating a bad image to D.

Bye,
bearophile
August 04, 2012
On 8/3/12 4:05 PM, bearophile wrote:
> Robert:
>
>> im a c++/c# developper and i really want to try D.
>>
>> I am currently developing a MMORPG, client part is in c++ and
>> server in c#, i want to know if D language is "ok" for the client side ?
>
> I have one more comment. I see D as a possible future alternative to Ada
> to write some moderately reliable programs. D is not designed to write
> programs as reliable as Ada programs (*), but once the D compiler and
> Phobos will be well debugged, I think D programs will be more reliable
> than C/C++ programs.
>
> But so far I have not seen people think and discuss of D as a possible
> future alternative to Ada; most people seem interested in D just as a
> language to write games.
>
>
> (*) Ada has many features missing in D that make its programs
> significantly safer than D programs, like:
> - built-in ranged integers;
> - user-defined array indexes;
> - clean syntax to stack-allocate matrices of runtime-defined sizes;
> - pointer kinds with different limitations;
> - stack overeflow safeties;
> - safe concurrency;
> - no undefined semantics;
> - explicit type conversions;
> - sane modulus on negative numbers;
> - integral runtime overflow tests;
> - etc etc.
>
> Bye,
> bearophile

What did I just read? Oh boy.

Andrei
August 04, 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.
August 04, 2012
On Saturday, 4 August 2012 at 03:12:01 UTC, Kapps wrote:
> On Saturday, 4 August 2012 at 02:20:45 UTC, Stefan Scholl wrote:
>
> [...]
>
> C# is a terrible language to make a game in.
>
> [...]
> -Does not compile to native code, so your game will have performance issues.

Just use ngen when installing the application. or mono -aot when using Mono.

Plus, the current most used **implementations** compile to MSIL by default, this is not a language issue.
August 04, 2012
On Friday, 3 August 2012 at 02:16:22 UTC, bearophile wrote:
> Robert:
>
>> im a c++/c# developper and i really want to try D.
>>
>> I am currently developing a MMORPG, client part is in c++ and
>> server in c#, i want to know if D language is "ok" for the client side ?
>>
>> Its a simple 2d isometric game using opengl 3.X (with shaders) so
>> its not really a problem if i lose some fps.
>>
>> Thanks and sorry for my bad english(im french).
>
> I think D today is enough to create a small game like that.
> But D and its standard library are in development still, so probably you will need to fix small things every D release, for some years. Are you able and willing to do this?
>
> Bye,
> bearophile

Well, normally, with the new STABLE branch, this is going to be a thing of the past
August 04, 2012
On Saturday, August 04, 2012 09:13:48 SomeDude wrote:
> Well, normally, with the new STABLE branch, this is going to be a thing of the past

LOL. No offense, but it's really not going to fix the problem. It'll mitigate it somewhat, but it won't fix it. Bug fixes break code all the time (generally because the code shouldn't have worked in the first place, but regardless, fixing bugs often causes code to stop compiling). And regardless of whether the average release in dlang-stable breaks anything, as soon as they merge in the next official release of dmd, you're in exactly the same situation you're in now. And it's not like official releases will be occuring less often now. It just means that you'll be able to get partial releases at a higher frequency with dlang-stable while you wait for the next official release.

For things to stop breaking with each release, their needs to be few enough major bugs that breaking changes caused by bug fixes are relatively rare, and Phobos is going to need to stabilize enough that deprecations are quite rare. We're approaching both of those points, but we're definitely not there yet, and dlang-stable won't magically get us there.

- Jonathan M Davis