Comment by kazinator
2 days ago
Nope; worse is better is about simplicity versus correctness tradeoffs. I've read the P. Gabriel essay enough times that I can rely on my memory of it.
Like whether to hide interrupted system calls, or punt the responsibility for restarting them to the application. (That "PC loser-ing problem" example used in the essay).
Between C++ and Java, it is hard call, but I would say that the Java ecosystem values correctness more than C++.
I don't mean valuing the correctness of a delivered application, but valuing the contribution of the language stack to that goal.
Java manages memory, and defines the order of evaluation of operands in an expression. Need we go on? Java also has a security story for loading compiled code. There is no sandbox model of any kind in C++.
This is of course Correct (pun intended)... but IMO the underlying meaning of correctness was a correctness of the abstractions to the problem domain and that correctness ultimately boils down to the expressibility of the language that allows it to create the correct abstractions. This interpretation might have to do with my having known many fans of Lisp (of which I'm one) and that people who love Lisp (like the author of the paper) are usually big expressibility proponents.