What is the Philosophy of D?

Dukc ajieskola at gmail.com
Thu Oct 19 13:09:25 UTC 2017


On Wednesday, 18 October 2017 at 12:25:57 UTC, Ola Fosheim 
Grøstad wrote:
> 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.

Perhaps. Well, contrasted to .Net and JVM standard libraries then?

>
> 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.

Might be, I have used python hardly at all so can't be sure.

>
>> 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.
>

In most regards they are very different, yes. But the similarity 
is that like C++/D, Forth is designed with many different 
programming styles in mind, instead of paving way primarily for 
one certain way of working. Probably Lisp too but I know too 
little of it to confirm.

> 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…

Of course D is very close philosophically to C++, that's what 
gave it the name in the first place! The main difference is that 
there's no burden of backwards compatibilty with C/C++, and as 
proven it's enough of difference for many.



More information about the Digitalmars-d mailing list