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