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

Reply via email to