4 ms·
It's interesting to me that JWZ likes Java the language and dislikes the JVM. Of course, most of his anti-JVM posts are at least ten years old, and the JVM was
by Zak 17y ago
It's interesting to me that JWZ likes Java the language and dislikes the JVM. Of course, most of his anti-JVM posts are at least ten years old, and the JVM was quite a bit worse then, but it seems odd to me that the Java language would look good to someone with a background in Lisp and C.
The sentiment I see from most hackers I know these days is exactly the opposite: the Java language is not well-liked, but the JVM is.
- ZeroGravitas 17y agoI'm not sure it's fair to say he likes the language and dislikes the JVM. More that he thought it unwise and uneccesary that they (along with the class library and the security model) were all being bundled together: From Java sucks (2000) http://www.jwz.org/doc/java.html http://www.jwz.org/doc/java.html "The fact is that there are four completely different things that go by the name ``Java'': A language; An enormous class library; A virtual machine; A security model. Sun would like you to believe that these are all the same thing, and that the name ``Java'' implies all of them, but this is marketing fiction. Worse than that, the fact that Sun has tried so hard to push this idea has done grievous damage to the acceptance of Java. Java-the-language is, overall, a very good thing, and works well. Java-the-class-library is mostly passable. Java-the-virtual-machine is an interesting research project, a nice proof of concept, and is basically usable for a certain class of problems (those problems where speed isn't all that important: basically, those tasks where you could get away with using Perl instead of C.) Java-the-security-model is another interesting research project, but it only barely works right now. In a few years, maybe they'll have it figured out or replaced. If Sun hadn't tried so hard to conflate these four completely different things, if they had first shipped native-code Java compilers, then the VM, then the security model, then Java probably would have completely displaced C++ by now." and "Today, I program in C. I think C is a pretty crummy language. I would like to write the same kinds of programs in a better language."
- hernan7 17y agoThat rant is from 2000 indeed, where you could still like Java the language. Back then (late '90s) Java the language was nothing like what we have today. If your first language was, I don't know, C or Perl, you could read some short-ish Java book (or the Sun tutorials) and learn enough to write a little applet to spiff up your website. These days learning Java, with all the stuff that has been added to the language (J2EE, beans, annotations, what have you), is mostly pointless. Lots of better alternatives. Unless you know you are going to be working on some big pre-existing codebase, or want to get a job working on one.
- Zak 17y agoJava from the late '90s still had the characteristic that most hackers I know dislike in it today; it was intentionally designed not to be as powerful as it could be. Interestingly, Python seems to be well-liked by hackers despite sharing some of that characteristic[0]. It may be that the motivation is different. In Java it seems to be "you can't be trusted with sharp tools" while in Python it's more along the lines of "code written that way isn't beautiful", but I think it's more of a fine line than people realize. I've managed to get a bit off-topic. Maybe I should write a blog post on this instead. [0] http://www.artima.com/weblogs/viewpost.jsp?thread=98196 http://www.artima.com/weblogs/viewpost.jsp?thread=98196