No thanks.
Posted Nov 9, 2012 2:34 UTC (Fri) by
HelloWorld (guest, #56129)
In reply to:
No thanks. by cmccabe
Parent article:
Haley: We're doing an ARM64 OpenJDK port!
http://www.joelonsoftware.com/items/2003/10/13.html
Joel doesn't have a clue, and that article is a perfect example of that. Exceptions don't create any new exit points for a function; if you handle all possible errors in the way he suggests, you'll end up with just as many possible exit points. And also his other point about exceptions being invisible in the source code is a complete red herring, because you know what's invisible and hard to find with code inspection too? Missing error code checks.
And there's even more nonsense. He's right in that you can't write result = f(g(x)) when g might fail. But being able to return multiple values (which Haskell and ML don't allow, returning tuples is something different) doesn't do anything at all to solve that problem. So please, stop spreading that link, it's just stupid.
With regard to generics: if you find yourself using interface{} everywhere, you're doing something wrong.
Yes, and I know what: you're using Go.
With that being said, generics might be added to the language at some point.
Deferring that to "some point" just shows utter cluelessness. The type system is the cornerstone of a programming language. It's an exercise in futility to try to bolt something as important as parametric polymorphism onto a language as an afterthought. And it's not like its are something new and mysterious. ML had it 40 years ago and the theory behind it (System F and its variants like System F<:) is well-understood.
(
Log in to post comments)