Interesting that he hit on the top three points in the pony philosophy[1] but in a very different order than they chose. For pony, the order is:
1. Correctness
2. Performance
3. Simplicity
4. Consistency
5. Completeness
I think I tend to agree with that order more. While simplicity tends to be helpful with performance and correctness, there are very few cases where you'd sacrifice correctness/performance for simplicity if implementation time/cost were not a factor. Let's not confuse a way of getting to the goal with the goal itself.
> Incorrectness is simply not allowed. It’s pointless to try to get stuff done if you can’t guarantee the result is correct.
Incorrectness for a minority of inputs can also be tolerated if it allows for a vastly more efficient and simple implementation, provided that the environment or driven machinery has failsafe mechanisms and wouldn't be able to cut an arm or a leg in case of an error.
For example, think about a game that runs quickly and is playable but crashes occasionally, versus one that lags all the time but never crashes.
Pony is a programming language, so I take consistency to be about how consistent the pony programming language feels to the user (principle of least surprise, etc.). That said, I'm not part of the pony core team; if you really want an answer, you could stop by #ponylang on irc and ask.
1. Correctness
2. Performance
3. Simplicity
4. Consistency
5. Completeness
I think I tend to agree with that order more. While simplicity tends to be helpful with performance and correctness, there are very few cases where you'd sacrifice correctness/performance for simplicity if implementation time/cost were not a factor. Let's not confuse a way of getting to the goal with the goal itself.
> Incorrectness is simply not allowed. It’s pointless to try to get stuff done if you can’t guarantee the result is correct.
[1] https://www.ponylang.org/discover/