JavaOne 2003: What Are We Going to Do with Java?
by Timothy Prickett Morgan
Sun Microsystems held its annual JavaOne conference in San Francisco a few weeks ago. The conference always causes everyone to ponder the promise of Java and how it is delivering on that promise. This year's JavaOne was perhaps a little tougher on Sun, with .NET looming large, the dot-com bubble still burning in our eyes after the pop, and the economy generally stinking on ice. But the question remains: What do we do with Java?
Java, which is a seriously glorified version of C++ that runs within its own hardware-independent virtual machine environment, has been around since 1995. The threat of Java and Web-based computing have motivated all computer vendors to adopt Java, like IBM did, or to come up with an alternative, like Microsoft has done with C# and its Common Language Runtime. C#, Common Language Runtime, and XML are the key components of Microsoft's .NET Web services strategy.
Sun is, of course, fighting back. The company has vowed to spend half of its advertising and marketing budget for fiscal 2004 on promoting Java. It has signed up teen idol Christina Aguilera for its marketing blitz, it has launched a new Java Web site portal for all things Java, and it has coerced Java licensees to come up with $500 million to help spread the Java gospel. Sun wants people to think "Java Inside," like we do "Intel Inside" after all those Blue Man Group commercials.
Sun, which controls Java through a quasi-open-source organization called the Java Community Process, is hoping that the commercial identification of Java will make people know about it and demand it. It's like a trickle-up theory, and in marketing-speak this type of campaign is called "key component marketing." This is exactly the kind of advertising that the OS/400 community is always saying IBM should do for that platform, and it never does.
Java got its start on the desktop but has largely been used only as an adjunct to Web browsers and as middleware glue for servers. Together, they create a foundation for Web services. Yes, hundreds of millions of cell phones are sold with Java each year, but does anyone personally care? Not yet, and maybe not ever. But Sun wants you to care, because the people in charge of marketing and branding believe these things are important, and they convince people like Sun chairman and CEO Scott McNealy that they are important. While consumer branding is important, it can only get you so far in the commercial IT space.
According to Sun's own surveys, some 85 percent of people know Java has something to do with computers, but only 20 percent of these people have the slightest clue what it actually is. There's room for improvement. But the 1 billion people who have computers on the planet are not going to start programming in Java because of a marketing blitz, so exactly what Sun hopes to get out of this latest Java campaign is unclear. Coca Cola is not the best-known brand in the world just because it spends big bucks on consumer advertising. Coke makes the best soda in the world (sorry, but Pepsi is too sweet), and it sells exactly the product it is advertising, directly to consumers, who, well, consume it. Especially during a hot July.
Java is a lot harder to sell than Coke. The consumers of Java are IT companies, their application partners, and their collective big corporate customers. Sun has been talking until it is blue in the face about how they have to support Java 2 Standard Edition, Java 2 Enterprise Edition, and Enterprise JavaBeans. Everybody but Microsoft, which can no longer distribute Java after settling one of many antitrust lawsuits with Sun in 2001, is waving the Java banner, some higher than others, some until their arms are moving so fast that they can almost get lift.
Sun very much wants to get 10 million programmers around the world using Java as their primary development language. This is a serious critical mass, but the company has a long way to go, with only 1.5 million or so programmers today, according to recent estimates made by market researcher Gartner. C#, which is only now getting a toe-hold in the market, will, according to Gartner, have an estimated 2.5 million programmers worldwide within three years, the same number it estimates for Java programmers at the same time. This is not the kind of talk Sun likes to hear. (To put that number in perspective, I figure there are about 800,000 RPG and DB2/400 programmers in the OS/400 community worldwide. Many of these programmers know some Java, but only a small percentage would probably call themselves Java programmers first, ahead of RPG coders.)
Sun is getting ready to release two tools to help mask the complexity of Java and to make it more appealing to the same kinds of programmers who write macros in Microsoft Excel or use Visual Basic to create front ends to databases and applications. Project Rave, which made its debut at JavaOne 2003, is a development environment for creating Web-based applications based on JavaServer Pages technology, a component of Java. A subset of this Rave tool is called Project Relator, and it is drag-and-drop development tool, like hundreds of others you have seen, for creating GUIs for Rave-based applications. The whole idea is to mask the incredible complexity of Java and make it more usable to programmers who do necessary work but are not hard-core RPG, COBOL, Fortran, or Java coders, who typically are in charge of mission-critical applications in the Global 2000.
Sun's future Java tools and current Java marketing campaign seem to be aimed at getting the attention of these programmers, who might otherwise make the jump from a tool like Microsoft's Visual Basic to C#, the Common Language Runtime, and .NET. Like the launch of Java and the initial public offering of browser-maker Netscape Communications in 1995 caused the IT world pause before making its next move, Sun seems keen on getting the attention of the millions of programmers using all kinds of graphical tools to do the work that the hard-core coders back in the data center never have time to do. By making Java easier, it can broaden the base of Java coders. Even if programmers using this tool don't understand exactly what the code that is automatically generated behind their integrated development environment is doing, they will identify themselves as Java programmers, rather than C# programmers, and that is a good place to start for turning them into so-called "real" programmers.
The problem with this approach, of course, is that having millions of people coding applications for commercial environments who do not really understand Java can lead to chaos and poor application performance. As RPG and COBOL programmers know, designing an application for thousands of users requires a different set of skills and a different approach to coding than making one for a single user. Scalability is an issue (and is a big one with Java programming in particular, because of the different architecture it has, compared with programming in RPG or COBOL), so is the lack of experience companies have with it.
Writing sophisticated commercial applications, like those that companies have created in RPG and COBOL for IBM midrange and mainframe servers (with well over $1 trillion invested, according to IBM estimates), takes more sophisticated tools, including Enterprise JavaBeans and coding in Java using tools that don't try to mask complexity, but show it. Sometimes, there is only one right way to do something, and that is the hard way.
One of my mentors was a chap by the name of Tim Palmer, who was the founding editor of the first daily newsletter in the computer business, called Computergram. Back in the mid-1990s, when I was writing for the first time about object-oriented programming, and when Java was about a year or two away from being launched, I was playing around with SmallTalk and was completely baffled. I understood the concepts, somewhat, but he laid out the essence of programming to me right then and there. "Good programming is like painting a ceiling," he explained to me. "There is no easy way to do it. Your arms get tired, and you get paint on your face. There's no way around it."
He always contended that the true promise of object-oriented programming in general--and, later, Java programming in particular--was not to make super-coders out of everyone, but to have the best coders in the world, creating objects that were subjected to a natural selection process, among the development and IT user communities, and then let the rest of the world's programmers build custom applications based on these objects. This has happened to a certain extent, but projects like IBM's SanFrancisco initiative are essentially dead. Everyone is trying to write their own Java from the ground up. The advent of open source computing, the pervasiveness of Internet communities, and the well-known cross platform nature of Java lend themselves well to the vision that Palmer had a decade ago. If Sun wants to spend some money, fostering such a Java developer community and a repository of shared components would be hard work, like painting a ceiling, but it would be a lot more useful than spending a lot of money trying to make Java look cool. Java is already cool, and if you don't know that, I guess you're not.
Contact the Editors
|Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved.|