E
Elliotte Rusty Harold
cafe.elharo.com · Personal blog · on HN since 2008
Elliotte Rusty Harold is a Java and XML author who writes about programming practice, API design, Unicode, and object-oriented design.
What HN saysCommenters link his post on why a square is not a rectangle, with Uncle Bob's inheritance comment quoted, and his writing on REST and operator overloading.
19HN people shared it
5linked it in comments
16stories submitted
186story points
9 years agolast shared
2008people per year2026
Most-shared posts
- 1Why Functional Programming in Java is Dangerous3 people · 4 points · first shared 2013 · 2 comments on HN
- 2A Square Is Not A Rectangle2 people · 67 points · first shared 2009 · 66 comments on HN
- 3Bruce Eckel is Wrong2 people · 22 points · first shared 2010 · 8 comments on HN
- 4Java is Dead; Long Live Python1 people · 74 points · first shared 2008 · 62 comments on HN
- 5The Ten Commandments of Unicode1 people · 4 points · first shared 2008 · 1 comments on HN
- 6XML 2.0: Thoughts on a new version of XML1 people · 3 points · first shared 2010 · discussion on HN
- 7Overcoming Objections to Refactoring1 people · 3 points · first shared 2008 · discussion on HN
- 8Don't Design for Reuse1 people · 2 points · first shared 2012 · discussion on HN
- 9Why don't Macs support multiple monitors?1 people · 2 points · first shared 2009 · 6 comments on HN
- 10Why Pair Programming Works1 people · 1 points · first shared 2012 · discussion on HN
- 11Must Ignore vs. Microformats1 people · 1 points · first shared 2008 · discussion on HN
- 12Why java.util.Arrays uses Two Sorting Algorithms1 people · 1 points · first shared 2013 · discussion on HN
- 13Refactoring. What is it? Why do it?1 people · 1 points · first shared 2008 · discussion on HN
- 14Why Hate the for Loop?1 people · 1 points · first shared 2012 · 1 comments on HN
- 15Operator overloading considered harmful1 people · first shared 2013
What HN people wrote when they linked it
jack9 · 2017-12-16
The thesis (https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) with relevant section:
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
The HTTP REST came from people mapping HTTP verbs to RESTful actions: http://cafe.elharo.com/web/why-rest-failed/ (2006) to https://martinfowler.com/articles/richardsonMaturityModel.html (2010)
amouat · 2013-03-27
Considered by people who have used C++ and seen some awful problems creep in because of unnecessary operator overloading.
Your last point actually highlights the problem - it is not more reliable because you are assuming what "+" and "*" do.
EDIT: An old blog post about the issue: http://cafe.elharo.com/programming/operator-overloading-considered-har…
JamisonM · 2012-05-10
It is strange that the consensus in the Java community sort of ended up being against checked exceptions. I for one think that this consensus is completely wrong and I suspect that what looks like a consensus is just a bunch of very loud people shouting down everyone else (and to me not making very compelling arguments).
Elliotte Rusty Harold's brief post on this pretty much nails it for me:
http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/
barrkel · 2012-03-09
Oh, I know about this already. Trouble is, panics aren't supposed to cross module boundaries.
"The convention in the Go libraries is that even when a package uses panic internally, its external API still presents explicit error return values"
http://blog.golang.org/2010/08/defer-panic-and-recover.html
But crossing interfaces between modules is, IMO, core to exceptions. They're ideally suited to communicating the underlying cause of failure from the depths of the system to the top-most loop (usually a request/response dispatcher or UI event loop), where the error message can be logged or shown to the user, as required, indicating the nature of the failure.
I expounded further on this point a few years ago, related to Java's misadventure with checked exceptions, but also relevant to module crossing:
http://cafe.elharo.com/programming/bruce-eckel-is-wrong/#comment-47679…
scharan · 2009-09-15
I really like this comment from Uncle Bob: Inheritance is not ISA. It is a redeclaration of variables and functions in a sub-scope!
http://cafe.elharo.com/programming/a-square-is-not-a-rectangle/#commen…