What is the Philosophy of D?

Ola Fosheim Grøstad ola.fosheim.grostad+dlang at gmail.com
Wed Oct 18 12:25:57 UTC 2017


On Tuesday, 17 October 2017 at 09:24:39 UTC, Dukc wrote:
> This is in contrast to Java and C# which almost force you to 
> use object-oriented styles

I don't think C# force you to use object oriented modelling? 
Clearly the GC and the standard library skews what you end up 
doing.

> and Python whose philosophy is "there should be one, and 
> preferably only one clear way to do a thing".

Ironically there is a plethora of ways to do the same thing in 
Python, but I guess the StackOverflow discussions tends to be 
about what the proper way is.

So discussions about idiomatic Python is mostly cultural and not 
so much the language itself. There is also quite a bit of 
discussion about what is idiomatic D in these forums. So not all 
that different.


> C++ and Forth are examples of languages which share that 
> philosophy of D.

I don't see how Forth is comparable. Forth is essentially a 
minimalistic VM. So I think Lisp would be a better pairing for 
Forth. Both are at the other side of the spectrum of C++/D.

I don't think there is much of a clear philosophy behind D:

C++ with GC, a slightly less verbose syntax, minus templating and 
some other things, then a bit of Java/C#, and finally a slightly 
different version of templating added. The standard library 
borrows conceptually from C++ and Python.

How is the philosophy different from C++, except the GC which is 
a library feature in C++? The core language design and the 
production backend is essentially the same. D doesn't have enough 
libraries to distinguish itself culturally from the C-family 
either, so…




More information about the Digitalmars-d mailing list