News for hackers. Stuff that matters.
Re:Simple, correct, fast: in that order by Daycrawler2 on Monday July 09, 2018 @10:57AM (#17490617)
That was my first thought as well but then I realized that by correctness the author means "no bug", which is quite more ambitious than just making it "work".

I think the author implicitly assumes the software basically works right from the beginning of the article.

Re:Simple, correct, fast: in that order by kibwen on Monday July 09, 2018 @11:22AM (#17490880)
If that's the case then the author is attacking a straw man, because nobody (besides Dijkstra) is suggesting that we rewrite all the software in the world in Coq in order to 100% eliminate bugs at the cost of simplicity.
Re:Simple, correct, fast: in that order by KirinDave on Monday July 09, 2018 @11:34AM (#17490988)
That's not what Coq would do, and a misrepresentation of Dijkstra's position. We certainly could use tools like TLA+ to assist us with existing code.

Folks are using "simple" and "easy" interchangeably here. That's probably inappropriate.

Re:Simple, correct, fast: in that order by kibwen on Monday July 09, 2018 @11:40AM (#17491031)
I apologize for using Coq speicifically, I just needed a scapegoat for formal verification that people might have actually ever heard of. :P I'm happy to debate definitions, which the author of the OP has regretfully omitted (and the contentious definition here is probably the OP's notion of correctness, rather than their notion of simplicity).
Re:Simple, correct, fast: in that order by AstralStorm on Monday July 09, 2018 @01:02PM (#17491679)
You'd be surprised how simple a well written proof can be compared to a program implementing an algorithm to do the same.

That said, Coq itself is not the best vehicle for this. There are nicer high order logic languages.

Re:Simple, correct, fast: in that order by KirinDave on Monday July 09, 2018 @12:04PM (#17491240)
To be honest, I'm fine skipping it. I don't understand why this article is so upvoted anyways.
Re:Simple, correct, fast: in that order by icc97 on Monday July 09, 2018 @05:47PM (#17493711)
> Folks are using "simple" and "easy" interchangeably here. That's probably inappropriate.

Agreed, see Rich Hickey's "Simplicity Matters" presentation on the difference [0].

Simple-Complex vs Easy-Hard

[0]: https://www.youtube.com/watch?v=rI8tNMsozo0

Re:Simple, correct, fast: in that order by silverbax88 on Monday July 09, 2018 @11:41AM (#17491046)
I agree. What he means is, it should work first, as simply as possible. Then you worry about correctness- correctness is not referring to working/no working. Correctness means, 'how SHOULD this work?' or 'How should this logic or code be written to be most efficient or effective?'

Third is performance.

1. Write a working piece of software that does the job.

2. Refactor to make the working piece of software do the job more efficiently and elegantly.

3. Refactor to make the working piece of software do the job as fast as possible.