Joel Spolski rattles the java cage a second time, illustrating that:

  • Java is really bad at functional programming
  • Functional programming is really important for utilizing massively parallel hardware

In particular I like the way Spolski uses Javascript for his examples. The conception of this language has always been a bit of an enigma to me, especially given its timing: As far as I can see the netscape people managed to sneak a pretty good language under the idiot radar by slapping the word 'java' on the front of the name and showcasing a crappy C-style 'for' looping construct to make it look a bit like java.

Then they added dynamic typing, higher order functions, closures, prototype based OO, eval...