What are the prominent downsides of the D programming language?

Dukc ajieskola at gmail.com
Tue Sep 29 16:11:29 UTC 2020


On Monday, 21 September 2020 at 09:29:21 UTC, Tomcruisesmart 
wrote:
> Hi,
> I'm looking for healthy conversation.
> What are the prominent downsides of the D programming language?

-There tends to be a need to switch between compiler versions. 
Sometimes one may even have to use two different versions for the 
same project.

-Typical D projects tend to require compiling everything at once. 
The main reason this is a problem is that you can't use different 
compiler flags for different parts. It's no worse than on the 
mainstream object oriented languages, though.

-Heavy use of templates still worsens error messages. They are 
clear enough that an average programmer won't, in general, hit 
the wall. But it tends to require several attempts and/or reading 
the docs to fix template-related errors, as opposed to 
untemplated error messages like: "function call `serialize` not 
found, did you mean `serialise`?".

-Using templates and defining simple ones is easy and tidy. But 
defining really good templates tends to get difficult. Look at 
Phobos source code: complex template constraints. The most recent 
D blog entry give a good taste of what it's like. On the other 
hand, in other languages you'd have to resort to macros to do 
similar stuff at all...

-Expressing complex data, especially if it's dynamically typed 
(at least out of the box, without third party libraries). D tends 
to be good at processing data but not so good in initializing it. 
Unit tests tend to get longer than I'd imagine them being in Lua 
or JavaScript.


More information about the Digitalmars-d mailing list