|
|
|
|
|
by tsahyt
5054 days ago
|
|
There are a ton of reasons for me not to like Java but on top of it all it's how it clings to "object oriented niceness" in utterly stupid ways. It shoves its paradigm down your throat and there's nothing you can do about it. Starting with "You can't even have a Hello World program without a class" and eclipsing in the horrid madness that is the Java Standard Library. Don't get me wrong, there is a time and place for OOP as well as for GoF design patterns but overdoing it is - I think - really bad design. Java tries to force you to adapt to this, while for certain tasks a different approach is clearly superior. Some programs benefit hugely from being written in a functional style, others benefit from having purely imperative modules that are not part of a class hierarchy. Java doesn't do any of that and makes it look like a good thing. Again, I don't condemn the idea of OOP, I condemn sticking too closely to one paradigm. C++ is a horrible language in many ways but I still prefer it to Java by miles. Because it's multi-paradigm. Python - multi-paradigm. Heck, even C99 is multi-paradigm in a way (assuming you dive deeply enough into it, one can actually write OOP code as well [1]). </rant> [1] www.cs.rit.edu/~ats/books/ooc.pdf |
|