Communication was [Re: What the hell is wrong with D?]

Jesse Phillips Jesse.K.Phillips+D at gmail.com
Wed Sep 20 16:26:46 UTC 2017


On Wednesday, 20 September 2017 at 02:34:50 UTC, EntangledQuanta 
wrote:
> When they then make up excuses to try to justify the wrong and 
> turn it in to a right, they deserved to be attacked.

That isn't how it went down, you attacked then justification was 
provided.

> for someone that programs in about 20 different languages 
> regularly, having logical consistency is important.

Could you imagine if D didn't allow you to learn how ternary is 
implemented? when you switched to one of those 19 other languages 
you'd expect it to work like D and make that catastrophic life 
threatening mistake you speak of.

But at last D followed logical consistency across languages so 
you can make the mistake once, learn, and apply it to all the 
other environments you're using.


> No, it doesn't logic is not based on circumstances, it's based 
> on something that is completely independent of us... which is 
> why it is called logic... because it is something we can all 
> agree on regardless of our circumstances or environment... it 
> is what math and hence all science is based on and is the only 
> real thing that has made steady progress in the world. Illogic 
> is what all the insanity is based on... what wars are from, and 
> just about everything else, when you actually spend the time to 
> think about it, which most people don't.

I will claim that it is illogical to make decisions ignoring 
environment and circumstances. For example, science heavily 
leverages environment (e.g. all objects fall at the same rate; 
environment: vacuum) (e.g. matter can neither be created nor 
destroyed; environment: not within a atomic explosion) (e.g. ...; 
environment: anything not quantum mechanics) (e.g. this satellite 
will follow this trajectory; environment: forces acting upon the 
satellite)

> Again, two wrongs don't make a right. What is the point of 
> reimplementing C exactly as C is done?

I don't think there were any unjust or dishonest actions being 
done. Just an FYI the phrase isn't intended to be applied to all 
meanings of 'wrong'.

If you're a C(C++,C#,Java,...) programmer (environment) then when 
you are reading D code you will understanding the semantics and 
the semantics will remain the same if you copy code from your 
language into D.

> e.g., my attack is on the claims that D attempts to be *safe* 
> and a *better C* and yet this(the ternary if) is just another 
> instance of them contradicting themselves. Presenting something 
> as safer when it is not gives the perception of safety and can 
> actually be more dangerous than the original.

Safe to Walter has always been 'memory safe' but to you point of 
broader safety lets take my ()?: syntax and breaking backwards 
compatibility here is unsafe.

     q > a / (3 + 4) ? 0 : q;

This compiles today, it will also compile with the new syntax; 
the semantics would be completely different. This is a 
calculation running in production for a space shuttle to Mars. 
Before the launch they upgrade the compiler and this new 
calculation causes the shuttle to land in Florida off the coast 
of Minneapolis.

Backwards compatibility is important to safety just as following 
the majority. To ignore the environment you're working is 
illogical.


More information about the Digitalmars-d-learn mailing list