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.

Reply via email to