The “Java = SUV posting” continues to resonate in my inbox.
The last two students using Java dropped 6.171. They were not keeping pace with the PHPers and those who sold their souls to Bill Gates. (Recall that all the students in 6.171 had built a 10,000-line Java program in 6.170 so they all knew the language itself quite well.)
Lots of professional Java programmers emailed to say “If only those students had used Libraries X and Y, they would have done okay.” Sadly X and Y were never the same in any two emails so it is easy to understand how the students went wrong (i.e., it is not obvious how one is supposed to choose among the 100 different ways to get something done in the world of Java tools).
Similarly there was no agreement among Java programmers as to whether it is good to have SQL queries prominently featured in source code or better to make everything into Java objects and magically generate SQL behind the programmers’ backs. Half of those emailing said that SQL was impossibly hard to write and what people really needed was to see the programmers’ custom-created methods. The other half seemed to think that a database application ought to be primarily expressed in SQL, a concise declarative query language that has been standard for 25+ years. These are 100% incompatible points of view.
My friend Curtis, an old-time Silicon Valley monster C hacker, AIMed me to say that he’d seen the Slashdot article:
“My problem with Java is that it makes hard things hard, and easy things hard. The amount of hassle doesn’t scale with the complexity of the problem. Whereas with PHP you can write “Hello World” without having to read a 200-page book. Java is a train wreck with dozens of classes with slightly different methods that do similar things. On the other hand, it kills me that the PHP database interface is so bad. Actually PHP just kills me anyway…why they had to invent a new language, I’ll never know.”
I pointed out to Curtis that the latest Technology Review, MIT’s alumni rag, picked the developer of PHP as one of its “100 Bold Young Innovators You Need to Know”:
“Rasmus Lerdorf has learned five languages while living around the world. But it’s the language he invented that has had global impact. In 1995, without any formal programming training, Lerdorf developed a server language to help him set up Web sites. … He named the language PHP, for PHP hypertext preprocessor.”
Curtis’s response to Tech Review? “People mistake creation for innovation”.