Java: The Good Parts
kev009.com
kev009.com
He makes vague mentions of the need to debunk Java myths, but doesn't debunk any himself.
He advocates Java on the client side, where apparently "one must acknowledge that somewhere along the line, manipulating a DOM/markup language with a scripting language isn’t the most effective development platform for everything". Love it or hate it, history seems to be disagreeing by sheer volume of numbers. He offers up JavaFX, a platform that is about as obscure as you can get, as an alternative to not only HTML/DOM/js but also Flash. Given that HTML5's tide may already be washing over top of Flash, which is likely orders of magnitude better supported than JavaFX may ever be, this seems like a crazy, almost non-sequitur point to bring up in an article presumably about Java's Good Parts.
Next, highlighting the JVM as a strength of Java feels weak since most of his argument focused on a call to arms to get people to host more dynamic languages on top of the JVM. This is hardly a strength of Java.
Finally, while he mentions that open source really mattered when it came to Java's evolution, if this article had done an actual analysis of any language features itself, it would have had to admit the reality that Java is in many ways falling behind direct competitors like C# -- which is decidedly run in a much more closed than open style by Microsoft. In the face of this, when comparing Good Parts, how is this a strong argument? To me it seems that open sourcing Java at worst just ensured that a language that was on shaky ground continued to survive, at best nudged it forward a notch or two. For an example of how an open process doesn't guarantee rapid progress with respect to Good Parts, just look at the sluggish and fractured deliberation over Java's closure proposals.
Somebody needs to take the title of the article and write the one we all expected when we clicked the link. I expected a meaty homage to Crockford's work.
> highlighting the JVM as a strength of Java feels weak since most of his argument focused on a call to arms to get people to host more dynamic languages on top of the JVM. This is hardly a strength of Java.
It is a strength ... the JVM is state of the art. And when using JRuby or Closure, you have the advantage of dropping to Java for bottlenecks / use Java libraries ... and this is huge.
> while he mentions that open source really mattered when it came to Java's evolution ... Java is in many ways falling behind direct competitors like C#
The language yes, but the open-source ecosystem around Java is definitely a huge advantage that can't be balanced with the goodies of C#.
for example IKVM.
So this really equalizes .net and the jvm with respect of libraries.
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.
I believe, along with Common Lisp and its VM, it's the only such option on the market. Clojure may have optional static typing -- which, running on the HotSpot JVM, would mean bringing this "full cycle" -- but I need to RTFM before I say for sure.
Ex: (fn [#^String foo] (.length foo))
See http://clojure.org/java_interop#Java%20Interop-Type%20Hints
I've seen chatter that scala has TCO, clojure doesn't (kinda like, what's wrong with clojre?). Read what Rich hickey has to say
I'm guessing he hasn't actually touched this part either. It's a disaster. JavaFX is a less capable version of Flex or Silverlight. If he thinks applets were stillborn, this was closer to a miscarriage.