
When I first heard about Java I really wanted to hate it. It was just
the sort of thing I was supposed to hate. It was slow. It was propritary.
It crashed my web browser a lot. I bought O'Reilly's Java in a
Nutshell, Second Edition so that when I spoke about how evil Java was
I'd have good reasons to give. Boy, was I ever wrong.
Java is the first good OOP (Object Oriented Programming) implementation
I've ever seen. I've heard Smalltalk and Eiffel (both of which
significantly predate Java) were good too, but I've never used them. C++
had OOP in it, it was an ugly OOP. C is a beautiful language. C++ is the
hideous beast that you get when you take something beautiful and start
bolting new useful things onto it that the design never intended (it is at
this point you should be picturing a beautiful person with one arm replaced
with a vacuum cleaner).
C++ was necessary though, it showed the world that OOP was a nice way to
do things. It's not always the best way, but it's seldom the worst way.
Many OOP languages were launched and failed (see Smalltalk and Eiffel)
because no one wanted to learn a whole new language to try out this OOP
thing. C++ allowed anyone who knew C to try OOP without having to learn
anything more than the OOP stuff itself.
Java, however, is OOP done right. It's got clean syntax, good
orthagonality, and rich standard libraries. The huge majority of the code
I write is in Java now. About the only application I won't use java for is
web page stuff -- I still hate java on web pages.
|