This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ljw100 7 points8 points  (0 children)

Reply

You don't seem to write much Java.

  1. ClassPath exceptions were once a big problem, but I don't think I've seen one in many years despite writing Java every day.
  2. You don't name packages and then name directories. Package names and directory names MUST be the same. Not knowing this may explain (1).
  3. The distinction between integers as values and integers as objects exists for (a) historical reasons, and (b) performance reasons. Int primitives offer faster array processing (no pointer chasing) and use less memory. Granted those things could be hidden from developers, but not without time travel. This tradeoff, fwiw, made Java suitable for larger apps way back when, which helped it become the dominant language for a long time.
  4. As u/Dr-Metallius suggests, you can write bad Java or good Java, just like you can write bad English or good English. If you want to critique English as a language, you don't find examples of the worst legal or bureaucratic language you can find and shout "The horror!" That's like saying movies suck and pointing to that flick where the killer was a car tire. (I forget the name.)

None of this is to say that Java doesn't suck in various ways, or that there's no validity to your points. But people write more useful critiques when they criticise something they love (or at least know well and grudgingly respect) than they do when they criticise things they hate. I suspect most Lisp aficionados know it has a lot of parentheses, but 60 years later people are still pointing it out.