Bob Congdon defends Gosling's rather clueless comments about non-Java, dynamic languages:
Language flame wars can be fun but this one seems a little over-the-top to me. Some of the commentary has been interesting but why be so defensive? Is it really that surprising that the creator of Java still prefers it over other languages? Is it really that surprising that the CTO of Sun Microsystems might say something dismissive about alternatives to the Java ecosystem? Gosling is a smart guy. He's not as clueless as some people seem to think. He's just doing his job.
Sure - but he mostly comes off as defensive. Not to mention woefully uninformed. In his response, he says this:
For now, I'll make the generalization that "scripting language" means one that is interpreted with dynamic runtime typing, and the other camp is languages that are compiled to machine code and have static runtime typing. This is a broad over-simplifying generalization, but it matches pretty well what goes on in common conversations.
Earth to Gosling: run on down to the Self research - right there at Sun. You might learn something. Yes, it's a huge over-simplification. Smalltalk, for instance, is mostly JITted (you know, like Java). There's no reason that Ruby or Python couldn't use a JIT, other than the simple fact that no one has done that (yet). He goes on to say:
Yes, people tend to forget about trade-offs (I think economists term this as opportunity cost). I think people should stop looking for the silver-bullet. Maybe a "cease-fire" in this flame war is figuring out ways of getting scripting languages and non-scripting languagues to work together.
That's nice of him, after spending most of the rest of the post trying to say that the domain for "scripting" languages is small. The reality is, most software really isn't that complex, and most of it doesn't need extreme scaling. Gosling's mistake is in thinking that most problems are complex, and that most problems need to scale to the moon.