Why is D unpopular?

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Wed Nov 3 17:47:45 UTC 2021


On Wednesday, 3 November 2021 at 17:12:28 UTC, kot wrote:
> i am using c++ for almost 20 years and i am quite productive in 
> it. given enough time i think one can be productive in any 
> language.

Yes, but some languages require you to do solid modelling before 
you start so they limit "evolutionary experiments". I find C++ to 
be such a language, in order to be productive you need a clear 
picture of what you want before you start. Lisp and Python and 
such languages allow you to grow a program "like a tree". I guess 
we could say they support metamorphosis (although dynamic typing 
can backfire).

> i  don't like rust as much, rust code looks even uglier than 
> c++ and its handling of generic-code/metaprogramming looks even 
> worse. they should have started from D templates, not c++.

The first time I saw a C program I thought it looked like 
incomprehensible shit compared to Turbo Pascal. :-) Then I 
learned it and went out of my way to write terse C code on an 
assignment in an algorithm class. I think the teacher got an 
headache when I wrote my solution on the blackboard (he allowed 
us to pick whatever language we wanted).

When I see a Rust program (like the Rust compiler) I get the same 
feeling, but I cannot be sure if it is me or Rust. Maybe both?

> obvious choice for such a project is lisp, afaik no other 
> language still has that speed/power when it comes to live 
> coding. compared to C++ D has that too, answer is the same for 
> both; tool and os support

If it is a game, then I guess your choice is reasonable. C++ with 
gcc extensions is well tailored for games. Not having a SIMD type 
with traits is a weak spot in C++ though. I had to make my own 
library with SIMD traits to clean up my code, and figuring out 
how to do that was time-consuming… That is my main gripe with 
C++, you set out to clean up your code by designing a beautiful 
library and then implementing it turns into a chore because of 
some language weak spots. It is important for D to iron out weak 
spots, otherwise D is too much like C++ to stand out.

(I guess you can embed Scheme/Guile or some other scripting 
language if you want to experiment too.)



More information about the Digitalmars-d mailing list