Java's Cover
paulgraham.com
paulgraham.com
He says "No one loves it. C, Perl, Python, Smalltalk, and Lisp programmers love their languages. I've never heard anyone say that they loved Java.". Putting aside the objection that loving Perl is a clear sign of mental illness (ducks) I'm sure that back in 2001 I absolutely loved Java and still do to a degree, though Clojure has taken the top spot.
Being a Lisp guy, PG doesn't understand why Java mattered back in 2001.
Quite simply, because the alternative was C++, or, heaven help us, C. Where I was working, we were doing cross-platform C++, with GUIs, and Java was a godsend. Java showed that you could get portable GUIs with performance in the right ballpark without all the incidental complexity of complex build toolchains and manual memory management. A whole slew of errors caused by manual memory management went away. No more corrupted heaps because someone in your team had a brain fart. No more segfaults and a blank screen where your running app used to be.
Graham asserts that Java being a simpler C++ was a downside, but out in the real world where your teammates are fallible, Java let you get things done without requiring perfection.
People who hate on Java lack context.
Yes, Java is designed by a committee in a corporation (with a nod to the language's community). Java is explicitly designed not to rock the boat with adventurous new ideas, but instead to be familiar to all programmers, no matter how skilled.
If your job is to oversee a large, long-lived software project, these are points in Java's favour.
We wish this were true, but this is not true. Not remotely.
I find it amusing Paul regards C's origins as being "hacker" and Java being apparently not. How exactly was Java's original design (as Oak) by James Gosling that much different under the circumstances by which C was developed by Dennis Ritchie when Bell had been reworking PDP-11 UNIX?
So why throw away the performance and graphical tooling of Java/.NET, when they shortly thereafter also got their Rails inspired frameworks?
Personally having used an AOLServer inspired framework during the .com wave, meant that Ruby wasn't something I felt to be usable in production at scale, without wasting resources making it fast.
Java’s also a lot less crippled than it used to be.
Way to be wrong, buddy