Here's an old joke. A guy in a strange town needs to get a haircut. There're only two barbers in the town, but the guy doesn't know either of them. Which one does he pick? The answer is the guy with the worst haircut. Why? Because neither barber can cut his own hair, so the guy with the worst haircut is the better barber.
What's this got to do with Java? Well, it reminds me of the strange position that Sun has been in for the past several years. I think Java is one of the most profound software concepts to ever come along, and there's no question that Sun is the proud owner. I'm very happy with the way the language has been improved over the past few years. And anyone who reads JDJ knows that I think Enterprise Java Beans, or Java 2 Enterprise Edition, is a masterpiece.
But there's always been a fly in the ointment with Sun. While the language is great, and their vision impressive, let's face it their tools stink. I hate to be that blunt, but in my opinion that's the way it is. I spend a good deal of time on each assignment reevaluating which development tool to use. There's a gang of three playing functionality leapfrog out there, and no matter where I go, someone has a favorite. But that gang of three is IBM, Inprise and Symantec. Sun isn't in there.
This shouldn't be too surprising in and of itself. Sun is first and foremost a hardware company. And if you've been reading faithfully, you know that I think Java is ultimately designed to sell hardware. But the point remains that while Sun has done a fantastic job crafting a new language, and an even better job of making it run anywhere and marketing that vision, they're not a software tools company.
I guess it's more surprising that IBM is in the gang, coming from the same hardware orientation. But the IBM guys have embraced Java so hard they like to refer to themselves as the "true Java leaders." I'll bend your ears (or eyes) some other time on the IBM story.
Probably the most surprising thing of all is that it's taken Sun several years to realize that they don't have the expertise in tool development to be more than a bit player.
Let's face it most developers use Windows to write code. And it's the guys that have been making windows development tools for years, Inprise and Symantec, that have captured the early lead in providing development tools.
So it came as no surprise to me that Sun recently acquired Forté. For those of you not familiar with Forté, let me help. Forté has been in distributed computing for several years, making a high-end tool that generated C++ code and could dynamically partition an application to run in various places. My friends who worked with Forté say that it can do some fairly sophisticated things, but there's a bit of a learning curve involved.
Forté saw the writing on the wall some time back and started working on a Java version of their product, which is now known as SynerJ. I haven't seen this product yet, but I'm going to make it a point to get a copy so we can review it.
But that doesn't really matter, at least not right now. The important thing is that Sun has recognized their deficiency and has taken steps to correct it. Perhaps that also explains the large investment Microsoft made in Inprise. Far from the bailout that they did for Apple, for which they are the largest single software vendor, this investment might have been a blocking play to keep Sun from acquiring Inprise. Thus Sun had to get another tool.
Only time will tell whether Forté will turn out to be a tool that Sun can use to contend with the rest of the gang. While Sun has the cachet of being the thought leader in Java, the other vendors have captured most of the market. It's going to be interesting to watch Sun try to overcome this lead. In the meantime, I need to get a haircut. Anybody know a good barber?
Sean Rhody is the editor-in-chief of Java Developers Journal. He is also
a principal consultant with Computer Sciences Corporation, where he specializes in application architecture - particularly distributed systems.
He can be contacted at