On Tuesday, 7 March 2017 at 22:07:51 UTC, XavierAP wrote:
On Tuesday, 7 March 2017 at 21:24:43 UTC, Moritz Maxeiner wrote:
[...]
D does not claim to be memory-safe always.It does afaik do so
within @safe environments (barring internal runtime or compiler
bugs of course). Even C# has the same approach of allowing
"unsafe" environments.
And as I've pointed out before, if your safe code can call
hidden, unsafe code it doesn't even know about then your
guarantees mean nothing and you're back to trusting programmers.
[...]
Does anybody try to refute it? Safe languages are not
rejected for their safety.
Right now, of course not, since the burden of proof is on the
side advocating memory safety (i.e. us).
I don't agree on the burden of proof. It is a safe assumption
that if you increase safety checks, safety will be improved.
If those safety checks actually get applied to those parts that
need them (i.e. by the programmers writing programs in that
language), I'd probably agree. But there's no guarantee that that
is the case, as your friend, hidden unsafe code, is still there.
Besides that, it's a hypothesis, and like with *all* of them the
burden of proof lies with the people proposing/claiming it.
It cannot or needn't be proven. If someone proposes installing
railing in a stairway, or a fence along a railway, to decrease
accidents, who would demand this to be proven?
A person with a good sense of engineering (or for that matter the
scientific method) in them ought to demand that both your
railing, as well as your fence get proven to actually deal with
the kinds of issues they are supposed to deal with before
approving their installation.
Which is what institutions like [1] are for with regards to
material engineering products.
Doing anything else is reckless endangerment since it gives you
the feeling of being safe without actually being safe. Like using
@safe in D, or Rust, and being unaware of unsafe code hidden from
you behind "safe" facades.
Plus statistics can prove nothing -- this logical truth cannot
be overstated.
It's called empirical evidence and it's one of the most important
techniques in science[2] to create foundation for a hypothesis.
[1]
https://en.wikipedia.org/wiki/Technischer_%C3%9Cberwachungsverein
[2] http://www.juliantrubin.com/bigten/millikanoildrop.html