> I'd give much to know what went so deeply wrong in our industry that we keep making such basic mistakes.
I don't think we can all agree on what counts as progress. Some saw Exceptions as the advance in error handling we need while Go reverts back to error codes. People still think Go is superior for different reasons. I think both suck and prefer conditions and restarts as in Common Lisp.
It is rather difficult to build a programming language from a set of axioms we can all agree on.
>Some saw Exceptions as the advance in error handling we need while Go reverts back to error codes.
Just a note that Go generally uses strings for error handling, not error codes. This avoids the need to look up the meaning of each error codes in a table somewhere.
Testing strings for errors is another example of a left turn in Go's design. Specially in a time of localized applications or OS that change messages between versions.
I don't think we can all agree on what counts as progress. Some saw Exceptions as the advance in error handling we need while Go reverts back to error codes. People still think Go is superior for different reasons. I think both suck and prefer conditions and restarts as in Common Lisp.
It is rather difficult to build a programming language from a set of axioms we can all agree on.