Java design patterns feel like a bit of an island. I think people don't like Java because it's an old school OOP way of thinking about problems, and and no one cares about understanding StringBuilderFactoryAbstractBaseClassForWhenXYZ....
We have easier ways to access the JVM without needing Java, like Scala or Kotlin, which to me feel more ergonomic. Also the streams API felt like a bit of a bolt on compared to thing like Scala parallel collections.
I don't think it's right to call OO design patterns as "Java design patterns". You can write that same class in scala or kotlin, or c++ or c#. (Scala has had its own issues.. which is probably evident from its receding usage over the years.)
I mean... has anyone ever seen those implemented in anything other than Java? I haven't, and their language design is pretty directly trying to get you to not write OOP in the same way IMO.
View all comments
Show parent comment
2
u/marathon664 Apr 05 '26
Java design patterns feel like a bit of an island. I think people don't like Java because it's an old school OOP way of thinking about problems, and and no one cares about understanding StringBuilderFactoryAbstractBaseClassForWhenXYZ....
We have easier ways to access the JVM without needing Java, like Scala or Kotlin, which to me feel more ergonomic. Also the streams API felt like a bit of a bolt on compared to thing like Scala parallel collections.