Fallout from the Java = SUV posting

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”.

Full post, including comments

Lisp diehards = Holocaust deniers

Hmm… it seems that the “Java = SUV of programming languages” posting has stirred up a bit of controversy over at Slashdot and right here on this server.  Some people read it as a personal endorsement of PHP, VB, and other semi-baked programming languages.  Actually my personal preference is a much darker, uglier, and more shameful secret:  Common Lisp, CLOS, plus an ML-like type inferencing compiler/error checker (with some things done in a sublanguage with Haskell semantics and Lisp syntax).  Common Lisp dates from around 1982 and ML from 1984.


I try to keep this preference concealed from young people who’ve been raised on a diet of C, Java, C#, Perl, etc.  They just wouldn’t find it credible that 20-year-old systems and ideas are actually better than the latest and greatest from Microsoft and Sun.


Imagine my delight in running into a friend yesterday.  She’s a 23-year-old graduate student in computer science at Harvard. Conversation rolled around to programming tools. Unprompted she said “What I think would be best is Common Lisp Object System with a modern type system”. I was stunned. I thought it was only dinosaurs like me that clung to Lisp.


I had a second ephiphany for the week… Believing that Lisp circa 1982 plus some mid-1980s ML tricks thrown in is better than all of the new programming tools (C#, Java) that have been built since then is sort of like being a Holocaust denier.

Full post, including comments

Cambridge, Massachusetts getting a bit of style

Our hometown of Cambridge, Massachusetts, famous for its poorly dressed citizens, will be getting a bit more style next year as the outgoing Miss America, Erika Harold, shows up to attend Harvard Law School (see the end of this Washington Post article, which notes that one of her favorite activities is promoting sexual abstinence, something that should be easy to achieve over at the Law School…; also check out my school page, which recounts my experience as a student at the Law School).


[Apparently creeping credentialism is a factor even in the Miss America contest; Tina Sauerhammer, the winner of third place just received her MD from University of Wisconsin.]

Full post, including comments

Send our underclass overseas?

Americans are accustomed to the idea that there will be an unreachable underclass within our borders.  Rather than figure out a way to fix inner city schools and turn these folks into productive citizens it is cheaper and easier, apparently, to give the teenager mothers AFDC and collect the young men up into our growing population of prisoners (more than 2 million people now).


Producing so many uneducated people and sending so many young men into prison creates a labor shortage in an advanced economy, which requires that we import laborers from Third World countries (see this page and http://www.h1b.info/ for some stats).


Does it make sense to keep people in prison at $25,000 per year (source) merely because there is no place for them in the U.S. economy?  If we gave them a $20,000 per year stipend they would have an above-average income in all but 27 of the 208 countries in this World Bank chart, while the U.S. taxpayers would enjoy a 20% savings.


Why would a foreign country want to take an American who is unwelcome on the streets of his homeland?  In the case of violent criminals, perhaps they wouldn’t (this source says that we have about 1.2 million people imprisoned for nonviolent crimes).  But what about all the people who are in prisons, often for life, for possession of drugs?  The foreign country would be happy to collect taxes on the former offender’s $20,000/year income.  The former offender’s education and skills might well be above average in most Third World countries, thus qualifying him for a wide variety of jobs.  And with a guaranteed source of income there would be no reason for the offender to return to the drug industry.  Recall Mark Twain’s comment that “It could probably be shown by facts and figures that there is no distinctly native American criminal class except Congress.”

Full post, including comments

Warren Buffett adopts the Chinese-made house idea (almost)

A month ago the idea of Chinese-made houses, sold at the back of Walmart, was put forth in this Weblog and met with mixed reviews.  According to today’s New York Times, Warren Buffett’s company has just shelled out $17 billion for a company that builds houses in factories (albeit the factories seem to be in the U.S. but they could easily move to China soon enough).

Full post, including comments

Can SUVs remain fashionable when only unfashionable people drive them?

Speaking of SUVs… (see below), at a recent gathering in suburban New Jersey I noticed that nearly everyone else had arrived in an SUV.  The drivers were overwhelmingly middle-aged married suburbanites with children.  When one encounters a young, good-looking, city-dweller the chances are very high that he or she will be driving an inexpensive compact car of some sort.  If you see an SUV in the distance but can’t see the occupants because the glass is too heavily tinted, chances are that it is 35-year-old mom and two kids.  A Suburu sedan, by contrast, is often occupied by a young single urbanite.


How much longer can the popularity of SUVs continue?  Many of the drivers are getting so old that their fragile bones really can’t handle the stiff suspension and harsh ride over bumps (my 40th birthday is in a week and whenever I’m picked up from the airport in a BMW X5 or similar I can’t believe how little isolation is provided from potholes, etc.; it is actually more jarring than landing the DA40 at 67 knots).


So how is it that SUVs remain in fashion when 99% of the owners of SUVs are unfashionable?

Full post, including comments

Java is the SUV of programming tools

Our students this semester in 6.171, Software Engineering for Internet Applications have divided themselves into roughly three groups.  One third has chosen to use Microsoft .NET, building pages in C#/ASP.NET connecting to SQL Server.  One third has chosen to use scripting languages such as PHP connecting to PostgreSQL and sometimes Oracle.  The final third, which seems to be struggling the most, is using Java Server Pages (JSP) with Oracle on Linux.  JSP is fantastically simpler than “full-blown J2EE”, which is the recommended-by-Sun way of building applications, but still it seems to be too complex for seniors and graduate students in the MIT computer science program, despite the fact that they all had at least one semester of Java experience in 6.170.


After researching how to do bind variables in Java (see the very end of http://philip.greenspun.com/internet-application-workbook/software-structure), which turns out to be much harder and more error-prone than in 20-year-old C interfaces to relational databases, I had an epiphany:  Java is the SUV of programming tools.


A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl.  People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome).  But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity.  Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope.  If a programmer is attacking a truly difficult problem he or she will generally have to use a language with systems programming and dynamic type extension capability, such as Lisp.  This corresponds to the situation in which my friend, the proud owner of an original-style Hummer, got stuck in the sand on his first off-road excursion; an SUV can’t handle a true off-road adventure for which a tracked vehicle is required.


With Web applications, nearly all of the engineering happens in the SQL database and the interaction design, which is embedded in the page flow links.  None of the extra power of Java is useful when the source of persistence is a relational database management system such as Oracle or SQL Server.  Mostly what you get with Java are reams of repetitive declarations at the top of every script so that the relevant code for serving a page is buried several screens down.  With a dynamic language such as Lisp, PHP, Perl, Python, Tcl, you could do bind variables by having the database interface look at local variables in the caller’s environment.  With Java the programmer is counting question marks in the SQL query and saying “Associate the 7th question mark with the number 4247”, an action that will introduce a bug into the program as soon as the SQL query is modified (since now the 7th question mark has been moved to become the 8th question mark in the query).

Full post, including comments

Hamas and the New York Stock Exchange

A recent story in the New York Times discusses the old story of Saudi oil money financing Palestinian terrorism.  What’s new is the revelation of the size of Hamas’s budget: $10 million per year.  Hamas is probably the world’s most successful Islamic political organization, delivering on its goals (see my Israel Essay for some quotes from their old Web site), admired by hundreds of millions of people worldwide, and a constant presence on the world’s TV screens and front pages.


By contrast, consider this story on Richard Grasso, who got his buddies on the board to pay him $140 million for his work as a manager at the New York Stock Exchange, 14 times the total annual budget for Hamas.  Hamas had to start their enterprise from scratch and develop it in the face of opposition from the heavily armed Israel Defense Forces.  Grasso inherited a #1 position in a market with little competition and a smoothly functioning organization.  Members of Hamas risk their lives every day in their efforts to kill Jews and eliminate the State of Israel.  Grasso took no personal or financial risks, only showed up every day and collected a paycheck once every two weeks.


It seems that Grasso has now resigned and the NYSE is casting about for his replacement.  Why not draft some managers from Hamas to head up the NYSE?  With a tiny percentage of the budget that Grasso required for personal walking-around money, Hamas is steadily defeating a state of 6 million people.  Imagine what these men could do for the NYSE.  The AMEX and the NASDAQ would be liquidated (perhaps literally).


[Some might take issue with the implication that Hamas is more successful than Osama bin Laden’s Al-Qaeda.  Al-Qaeda has managed to kill more infidels, notably in the September 11, 2001 attacks, and has widespread popular support worldwide.  Hamas, however, has managed to preserve effective sovereignty in its territory while Al-Qaeda provoked a U.S. invasion, indiscriminate bombing, and the killings of many thousands of its members.]

Full post, including comments