3 ms·
Here's my problem with Java. No one ever talks about the language, and what makes the language so great. No one ever writes articles stating something like "L
by n8agrin 17y ago
Here's my problem with Java. No one ever talks about the language, and what makes the language so great. No one ever writes articles stating something like "Look this is why loops are so _cool_ in Java." Everyone in the Java world seems to point at these big libraries built on top of Java and say things like "Look Swing is what makes Java cool!" or "Java Beans are so great!" I just don't believe that, for exactly the same reason I don't believe rubygems doesn't make Ruby cool, why I don't believe Django makes Python cool nor jQuery makes Javascript cool. On the other hand I do value opinions like, "Ruby is cool because of it's blocks.", "Python got it's package system right and list comprehensions are awesome.", or "Javascript's closure implementation works well."
The book this article is named after, "Javascript: The Good Parts", does exclusively talk about the language Javascript, not jQuery or other Javascript libraries. After reading "Javascript: The Good Parts" I was excited to use the language for all the reasons Crockford pointed out. This article doesn't ever approach that for Java, and instead focuses more on the Java libraries, hence I'm not more inclined or more excited to go back to writing Java.
- guelo 17y agoComing from the dynamic language world to Java it took me a long time to find "The Good Parts", but I think the main advantage is the static type system and what that allows tools like Eclipse to do, e.g. code-completion, inline docs, refactoring, etc. In a huge project, some of the refactorings that I do on a daily basis in Java, would be scary if not down right impossible in more fungible languages.
- n8agrin 17y agoNow that is cool and a valid opinion on the "good parts" of Java. FWIW, I know at least one ActionScript coder who has a hard time going back to coding in Javascript because of its lack of a type system (even though they are both very loosely based on the same ECMAScript standards).