Thursday, March 22, 2007

Java: The new Cobol

It comes as no surprise that I love to program. With my natural ability to misspell anything; it also come as no surprise that I like really good IDE’s (Integrated Development Environments) to help me out when I want to start using code like:

HttpWebResponse MyResponse = (HttpWebResponse)MyWebReq.GetResponse();

With so many opportunities to misspell.

When Java first came out; there were no IDE’s for it; so while I learned the language (hey I learned Modula too), and thought it was kind of cool, you couldn’t do a whole lot with it; yet. Soon there were graphic libraries out that would allow for some acceptable applications to be done. But for some reason all the IDE’s that were being created boasted that they were 100% written in Java; like that was good. To be clear this was some time ago and Java ran slow. Really slow. Go get a cup of coffee and drink it slow.

For someone who learned on a slow computer, and learned Assembly just so my programs wouldn’t be slow, this was unacceptable. So I grew up, and put my childish ways behind me, and Java too.

Fast forward a couple of years and computers a blazing away at multiple gigahertzes; ok now even Java is running fast. But what have the users done with Java in the mean time? Are there awesome transactional libraries, database connection models, super graphic integrations, imbedded scripting? No, in fact the company the run the Java standard has gone off and sued people who tried to integrate those things in. “Breaks compatibility” is the claim. Which is odd, since everyone who actually uses the language already knows it’s “write once; debug everywhere”. So now these people have gone off and developed systems that do support those requirements.

This led to the creation of the Domain Specific Language (DSL). Simply put, the environment requirements design the language to be used. Want to tie a rational database to a HTTP presentation layer? Ruby on Rails is tough to beat. How about a distributed web based transaction business model? C# is your man.

In today’s business model; everyone wants to be lean, with a short TTM. This leaves Java languishing at the bottom of the programming barrel. It’s not the fastest language, it’s not the smallest, it’s not the easiest, and it’s not even the most universal as was once proclaimed. To make it do anything of use; you have to license an array of products making it rather expensive to use.

Just like Cobol I’m sure there are millions of lines of Java out there running, and at some point in the future some IT guy will point out that they would like to turn such and such server off, but no one knows how the system works anymore, or how to upgrade the code; so they can’t. Maybe next year.

No comments: