My thoughts on Oracle, Sun and Java

Over at Oren’s Blog there was the following comment:
Alberto:

So what. I don’t care much what the writer says. Java is open source, so Oracle can’t “own” it in the sense they can’t control it.

to which I responded:

@Alberto,
Java itself is not opensource only the JDK. This means if you want to help to make changes to the core libraries you can but if you got a wild hair for some reason and wanted to figure out how to add LINQ to Java you couldn’t. See http://www.sun.com/software/opensource/java/faq.jsp#b8

This is an important distinction. The JDK is opensource, not Java. This means the future of Java is in the hands of Oracle and it scares me. Development on the Oracle DB itself has been rather stagnant. I’m not saying that there haven’t been new features added, just that Oracle hasn’t been making any big leaps forward.

I’ve had the unique opportunity for the last 6 years to develop professionally in Java and the last 5 years in C#, a man of both worlds. When C# first came out I was thinking, so what? I can do that in Java and do it easier and cleaner. C# had a lot of catching up to do. Fast forward 5 years and Java is so far behind the curve now. Development of the Java language has become stagnant. Like the Oracle DB, new features are added sure, but there haven’t been any significant leaps forward. Java has simply fallen behind. I just hope Oracle doesn’t do to Java what it has done to it’s DB and let it die a slow death. As pointed out by Andrew nearly all of Oracle’s business is with the government, and having worked on some government contracts I can tell you that is starting to slip.

As a new generation of IT moves into places of power they simply are not as enamored with Oracle as the old guard were and they are willing to look to other solutions.

So what does this mean? C, C++ and Perl haven’t had any new features for a long time. Does a language need to make leaps forward? C, C++ and Perl live in different worlds with different purposes then Java and .Net. Sure there are some cross purposes but for the most part they are separate. Java has to continue to innovate if it wants to stay a viable mainstream language. I hope that Oracle can bring innovation back to Java and yet worry that it doesn’t really care.

Brian

In thinking back, the only part of my comment I disagree with is:

having worked on some government contracts I can tell you that is starting to slip.

The reason I disagree with it is because, at this moment, the federal government and the DOD are still firmly entrenched in the idea that Oracle is the only way to go. So basically I’m saying that things aren’t starting to slip, at least not right now.

But I do firmly believe the next part of my comment:

As a new generation of IT moves into places of power they simply are not as enamored with Oracle as the old guard were and they are willing to look to other solutions.

My point here is that I think Oracle cares about Java because their tools are written in Java. But that is it’s only extent. Now that the JDK is opensourced I’m sure we’ll see some movement in the JDK but very little, if not nothing, in the Java language itself. This is really a shame.

There is no doubt that Java rules in the web application market against .Net and ASP.Net, just as there is no doubt that Apache rules in the web server market against IIS. Maybe that is fine for Java. Maybe Sun wants it to be consigned to a subset of the development market. But there are some heavy hitters in that market, Ruby, PHP, and Perl to name a few.

So why not try and carve out a significant share in all markets? Java has never truly had a significant share in the desktop application market. I feel it was held back by how bad AWT and then Swing were. In Java 6 it seems like they’ve tried to make some steps forward with the new desktop APIs but it doesn’t seem like that is enough.

6 years ago Java was an innovation. Now it’s merely stagnant. It’s APIs can’t keep up, it’s language features can’t keep up. With every new release of .Net I find it easier and easier to do everything. With every new release of Java I think, “That’s kind of cool but that doesn’t help me.”

There is a definite flaw there. I hope Oracle dumps a bunch of money into Java and really gets the development platform, from both the JDK and the language features perspective, kicked into high gear. It’s just that it seems that Oracle actually likes stagnation. If it ain’t broke, don’t fix it is their attitude. The problem is that, while that may work for the Oracle DB with their heavy paying government projects, it doesn’t work for Java.

Later,
Brian

Comments (4)

  1. Brain,
    Just a note about C++ & C.
    Those are ISO standards, and as such, they can be changed once a decade.

  2. Andy

    I’m been happy with Java’s road map and don’t really see it as stagnant. Personally, I don’t like too much change because of maintenance issues during upgrades. I think the recent changes with Collections have been huge and I look forward to the dependency management improvements in 7.0. Of course I say this with little understanding of the C# improvements over the years, so I can’t really compare the two.

  3. @Andy,

    I agree, the changes with Collections is great. But the .Net framework had that back in 2005 when generics were added with the release of .Net 2.0. As far as the dependency management improvements .Net 1.0 fixed all it’s similar issues back in 2002.

    I certainly don’t intend this to become a .Net vs Java debate. That’s not my point here. My point is that Java is moving forward so slowly it’s stagnant. I don’t know, maybe I’ve been spoiled with .Net. There is no doubt that .Net has it’s weaknesses, one of the biggest being cross-platform support, kind of.

    In truth that really isn’t too much of an issue with the Mono project. As they say on their website, “The Mono API today is somewhere in between .NET 2.0 and .NET 3.5”. They are continuing to add features to bring it current with the .Net framework and are already working on .Net 4.0 features.

    Java as a language, in my opinion, is about 4 to 5 years behind the C# and .Net 3.5 which forces me to say again, Java is moving forward so slowly it’s stagnant and I worry that under Oracle it will only get worse.

  4. […] now? Well, this survey struck a nerve for me. Maybe it’s because this has some fingers in my post about Oracle and Java. In that post I reveled in the fact that Microsoft is able to keep the .Net framework moving […]

Leave a Reply

Your email address will not be published. Required fields are marked *