3 ms·
> Java, which was quite imperative, doesn't have nearly as much undefined behavior as C. You're right, but Java is still orders of magnitude less predictable t
by wyager 10y ago
> Java, which was quite imperative, doesn't have nearly as much undefined behavior as C.
You're right, but Java is still orders of magnitude less predictable than Haskell. A few good links here.
http://stackoverflow.com/questions/376338/what-are-the-common-undefined-behaviours-that-java-programmers-should-know-about http://stackoverflow.com/questions/376338/what-are-the-commo...
It essentially boils down to a combination of unsound type systems and underspecified semantics. Java was not created on a sound theoretical basis - it's quite ad-hoc.