What is the Philosophy of D?

codephantom me at noyb.com
Wed Oct 18 00:05:06 UTC 2017


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



More information about the Digitalmars-d mailing list