Dijkstra on Dutch TV (2000)
youtube.com
youtube.com
>"We should not add bugs to a program out of nonchalance. We should do so systematically and with great care".
The translator translates this to
> "We should not introduce errors through sloppiness, but systematically keep them out",
which I found unfortunate, since it completely loses the original meaning.
Dijkstra doesn't disappoint in this interview.
What is this "other side of the tradeoff" you speak of? Should there have been such a tight schedule in putting a man on the moon? I think you might have an argument about software development in general, where the standards do not need to be this high all the time, but in the case of the moon landing it's hard to argue for loose standards when human lives are at stake. It's rather disconcerting they admit they just got lucky, in terms of software correctness.
The standard example of correct software and in fact where most work on formal correctness tends to happen is in compiler design and distributed systems. So when you say that there is a tradeoff between speed and correctness that is simply not true. All those compilers you use are correct, for a very precise definition of correct, and fast and constantly improving.
I appreciate your concern that a shouting match was imminent, but with gems like "running your mouth" and "parroting it over and over again" I think, ironically, the only one risking that is yourself.
Are they? How do we know? And if they are, why is GCC's list of major and critical bugs[1], for example, longer than a laundry list?
[1] https://gcc.gnu.org/bugzilla/buglist.cgi?bug_severity=critic...
Beware of bugs in the above code; I have only proved it correct, not tried it.
- Donald Knuth
Formal correctness and implementation correctness are still separate issues in compilers like gcc but that doesn't change the fact that there are correctness specifications for gcc. There are projects that try to bridge the gap: https://en.wikipedia.org/wiki/CompCert.The guy he was talking to put a guy on the moon and Dijkstra didn't.
He is right about one thing. Elegance and correctness require a certain level of intelligence and sophistication that the average software developer lacks.
I reread what I wrote and I honestly don't know why you'd want to attribute that belief to me. Not acknowledging all the priorities in the correctness tradeoff was something I was writing against. Not counting correctness as a priority would certainly qualify.
I've always found NASA discussions of software quality to be interesting and informed by practical experience.
> Before running your mouth you should read the actual history
I consider your attitude harmful.
Turns out even his speech was like that as well! I was eagerly absorbing every word.
https://www.cs.utexas.edu/users/EWD/transcriptions/transcrip...
And many others (you can find the other ones in the right sidebar with : "Gerelateerde inhoud")
It's actually a very interesting video-series about designers at Apple or UX experts at Adobe for example. And more importantly, how they got there.
$ cat >myarticle.txt