Lesscode dissects Gosling’s FUD
In Gosling Didn’t Get The Memo a statement by James Gosling that is too dumb to be true (but alas, it is) is dissected. Along the way, the article churns out a very long list of links to sites and blog posts containing ammo for fighting the Java crowd (and their associates over at C# central, etcetera
). Because of that, it’s an article worth bookmarking.
Not to be outdone, let me pick on another statement in the same interview:
He called Simplicity and Power “evil twin brothers”
Poor guy. Probably never did a Smalltalk project. Power comes from Simplicity. Because Simplicity liberates you to think of alternative ways, quickly try out new solutions, etcetera.
Here’s another blatantly false statement:
You can do web presentation stuff really well in PHP but you couldn’t write a library that does, say, interplanetary navigation.”
Of course you can. Whether you’d want to is a different thing, but I wouldn’t want to do such a beast in Java either (I would wonder why you want to do interplanetary navigation in Java). But then, I’m not a rocket scientist so I don’t know what is involved in their platform decisions. However, James uses the word could instead of should or want, which makes his statement falsifiable and easily (because of the Turing-completeness of most “scripting” languages) proven false.
That Gosling is a misguided old hat who still thinks Java is neat, fine. But if people like him start making statements they ought to know that are false - about every statement he makes in that article is objectively false - just to push their own favorite, now that’s a very quick way lose my respect.



March 13th, 2006 at 11:43 pm
About ‘interplanetary navigation’:
I assume he thought of this article:
http://www.sun.com/aboutsun/media/features/mars.html
Seems like NASA/JPL used some Java for some software involved with the Mars Rover mission. I should stress that Java was mostly used to build a Image viewer, some networking and database access (the article is a bit vague, these are the most specific details that I see in there).
March 14th, 2006 at 3:22 am
As I (very loosely) understand it, flight software (e.g., on-board navigation) must be on a “platform” certified for flight use (e.g., ADA, C, various assembly). So unless Java (which used to carry a license that said it cannot legally be used for anything imporant) has been so certified, one actually CANNOT write an interplanatary navigation system that uses it.
There is story (that I may be getting wrong), that says that NASA’s Deep Space One software was meant to be a fully autonomous flight system, able to make its own mission decisions without resorting to the long communications link back to earth. It was written in Lisp, and therefore not flight-certified. Instead, I gather they jumped through some hoops and had to settle for a small, short-duration, non-mission-criticial “experiment,” which, of course, performed flawlessly. Even at that scale, it won NASA’s “Software of the Year” award for ‘99. Too bad they couldn’t actually use it for anything. http://ic.arc.nasa.gov/projects/remote-agent/index.html