Java and the prodigal son syndrome

Ever hear the parable of the prodigal son? If you have had any length of exposure to the Christian New Testament, the answer is probably yes. It’s this one parable Jesus shared, captured in the Gospel of Luke, chapter 15, verses 11-32. A depressingly large contingent of the Java&#8482 community shares some annoying similarities to that prodigal son.

The parable is actually about two sons, not just the one who ran off with his share of the inheritance and blew it. There’s also an older son, who was always a good worker and didn’t run off. When you hear someone speak about this parable they usually point out how he’s bitter that the family celebrates when the kid who blew half of everything finally returns home, and that you shouldn’t be that way, et cetera.

A friend of mine once pointed out to me this subtlety; only the father comes out to speak with the older son. The younger son, who has just received this abundantly merciful treatment by the father, makes no gesture to come out and reconcile with the older son. He has quickly forgotten what it was like to be the alienated one. My friend John called that the “prodigal son syndrome”; I think of it often when I listen to and/or read reactions of Java &#8482 programmers to…just about anything other than Java&#8482.

For those in the “Java™ will never cease to flourish” camp, recall some of the scoffing you experienced back in the early period of Java™’s adoption, the jeers from the C++, C, and maybe even COBOL camp, depending upon the nature of the shop you were in. Now, take those scoffs and perform a search-and-replace:

s/Java™/{Ruby,Rails,Python,etc.}/ && s/{C,C++,COBOL}/Java™/.

Listen to yourself when you respond to topics like Ruby on Rails. The resemblance is unsettling, don’t you think? Why must everything new (or non-Java, really; newness isn’t even a condition most of the time) be rejected out-of-hand as inferior and “a fad”? The unwillingness to acknowledge (much less embrace) the strengths of alternatives to Java&#8482 ironically serve to undermine your puerile assertion that Java&#8482 is the be-all, end-all in programming.

The ardent defensiveness in the Java™ community’s response to Bruce Tate’s Beyond Java™ awhile back is an example of what I am talking about. I’m too busy these days to catalog some of the shining examples from java.net and TheServerSide. But good grief, people, drop it already! And don’t be embittered when you’re overrun by the changes you continually dismiss as inferior to Java &#8482. There’s an open cubicle down by that grumpy COBOL guy; maybe you two can commiserate.

NOTE: Apologies in advance to the sed crowd for my cruddy syntax above.