Java versus .NET
Saturday December 6, 2003
Someone sent me an email asking about my opinion of Java versus .NET. After I finished writing the answer, I decided that ... as the proprietor of About Visual Basic ... I might share my thoughts with my readers too.As you can guess from my page, I'm a .NET person. That is not to say that Java is not a first class development environment. There are too many first class systems built using Java to even imagine that.
In my opinion, it's hard enough to be really good at just one of those development environments. So I personally don't try to tackle both. And it's really a guessing game about what will happen in the future.
I got started with Microsoft when it became clear (back in 'OS/2 versus Windows' time) that Microsoft was going win. (I'll give myself a pat on the back and say that I saw that A LOT sooner than decision makers in the company I was working for. They dumped A TON of money into OS/2. I tried to stop them but ..... see my book review. )
So for maybe ten years or so, the answer has been pretty clear. But the times, they are a changin'! (As Bob Dylan wrote before he sold out to the establishment.)
Today, the 'wild card' in the equation is not Java, but Linux. Java is a good development environment but .NET is easily it's equal. It's been said that Microsoft never invented anything but they sure made a lot of other inventions work in the real world. I think that's true of Object Oriented Programming and .NET. Java was a great implementation of OOP and they did it a decade earlier than Microsoft. But with all that real world experience to guide them, Microsoft has now done one that is even better.
Linux, however, might overbalance the equation in the direction of Java anyway.
Right now, Microsoft really doesn't have a good implementation of .NET that runs on Linux and they're running around like a politician who just lost the New Hampshire Primary trying to decide what to do about it. They have made .NET into an international standard (something Sun has not been willing to do with Java) in hopes of energizing the Linux community into switching horses. So far ... not much luck on that. (But ... see the Mono Project for up-to-date specifics.) And the whole idea behind Longhorn is to combat the Linux threat. But that won't be here for three years! Microsoft is really trying hard to avoid to shooting their own horse (Windows) by doing more to make .NET Linux friendly but they can also see that if they don't, .NET will have a much tougher time competing against Java.
Problems, problems! What's a poor monopolist to do?
What do you think?


Comments
No comments yet. Leave a Comment