On Tuesday, 17 October 2017 at 09:24:39 UTC, Dukc wrote:
On Monday, 16 October 2017 at 00:25:32 UTC, codephantom wrote:
Is philosophy not important?
I think that if somebody wants to nail down a philosophy for D,
the main page puts it well: "The best paradigm is to not impose
something at the expense of others". I also heard that long ago
there was a phrase "D is not a religion". I wasn't myself here
then but it still describes D alot.
Well, I quess other phrases could also be included it, like
"ultimate performance must be attainable, but if the way for it
is otherwise undesirable it should be explicit" but the point
is that D tries to let you to program in any style it
technically can. With that "technically can" I mean that it
does not support logic programming for example because it would
require too great a rework on implementation and language spec.
This is in contrast to Java and C# which almost force you to
use object-oriented styles, and Python whose philosophy is
"there should be one, and preferably only one clear way to do a
thing". C++ and Forth are examples of languages which share
that philosophy of D.
Again, philosophy != religion. Why do these terms get confused so
much?
One tries to make sense of things using 'reason', the other does
not (i.e religion is based on faith - which you can't reason
about).
Religion can be imposed, philosophy cannot be imposed - because
one is always free to reason about it.
The philosophy of unix is to have a minimalist, modular approach
to software development (even if that's not always the case -
because it can't be imposed).
The philosophy of C is that the programmer knows best (even if
that's not always the case - because it can't be imposed).
GPL is more a religion that a philosophy - because it seeks to
always impose (oops....should I have said that...)
The D language certainly does *not* have a religion, but it does
have a philosophy....whether it knows it or not...
In my efforts trying to 'make sense' of the D language, I can't
help but think that its philosophy almost certainly incorporates
the concept of:
"freedom ~ for programmers".
Hey...perhaps that's it!
(even if that's not always the case - because it can't be
imposed).