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.