On 22.11.2017 01:19, codephantom wrote:
On Tuesday, 21 November 2017 at 20:02:06 UTC, Timon Gehr wrote:

I'm confident that you would be able to use null safe languages properly if that is what had been available for most of your career.


You do realise, that all of the issues you mention can just be handled by coding correctly in the first place.
...

Yes, just like everyone else, I realize that if correct code is written, we end up with correct code, but thanks for pointing it out.

BTW of course you must realize that you can make the compiler brutally obsolete by just quickly writing down the most efficient possible correct machine code in a hex editor, so I'm not too sure why you participate in a discussion on the forums of a compiled language at all.

If your program calls 'std.math.log' with an argument of '-123.4', then that's probably NOT a bug. It's more likely to be incorrect code.

https://en.wikipedia.org/wiki/Software_bug

Why not bounds-check the argument before passing it to the function?
...

Walter said NaN is underused, not me.

If you access a field of an invalid instance of an object, that's probably NOT a bug. It's more likely to be incorrect code.

https://en.wikipedia.org/wiki/Software_bug

Before you access a field of an object, check that the object is valid.
...

If I know that it is valid, I might not want to check it.
Then, if, let's say, you come along and read my code, I do not need you to point out that I didn't check the field access. If you still do, I can now either explain to you why it is unnecessary, which will waste my time and does not guarantee that you will buy it, or I can write the code in a language that requires me to provide the proof up front, such that you will not have to bother me. And even if you still doubt that the proof is actually correct, it will not be my problem, but instead you'll need to take it to the guy who wrote the compiler. This is one of the reasons why Walter does not like non-null types. ;o)

Its seems to be,

Spelling mistakes can be avoided by just spelling correctly.

that you prefer to rely on the type system, during compilation, for safety.

No, I ideally want the type system to point out when the code is not obviously correct. That does not mean I assume that the code is correct when it compiles (given that I'm using a language that does not require me to prove absence of all bugs, and even if it did I'd at most assume that either the language implementation is incorrect or my code is correct, with a certain margin of error due to undetected hardware failures).

This is very unwise.
...

Thanks for pointing that out.

btw. what was the last compiler you wrote?


Embarrassing questions can be avoided by just coming up with the correct answer yourself.

Reply via email to