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