Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not to refute your findings but it seems unfair to call commonly selected aberrations not hidden complexity and the Java memory model as such. The only things you can compare is the complexity inherent to the task vs that which is added by the choice of implementation which is subjective based on familiarity.


I was calling out the Java memory model and concurrent programming in Java as being very complex. It's inherent to the language itself and almost impossible to change. I was only calling it "hidden" complexity as most people do not see an issue when writing single threaded programs. Concurrent programming I genuinely believe is easier in Haskell.


And also using the java.util.concurrdent package sidesteps most foot-guns involving roll your own synchronization.


Perhaps most, but not all. Even something as simple as a date formatter in Java is not thread-safe.


That was fixed with the Java 8 package java.time.format, https://docs.oracle.com/javase/8/docs/api/java/time/format/D...


Ok bad example, but it shouldn't have taken them 15+ years to fix it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: