Platform or language

feature
Mar 22, 20023 mins

Debate rages about whether Java is actually a programming language or an application platform. Sun Microsystems maintains that it’s both and that the two parts, when taken together, result in a whole greater than the sum of its parts. Although there are distinctions between Java the language and J2EE the platform, confusion clouds the debate.

According to an informal InfoWorld survey of CTOs, 62 percent say that Java is both a platform and a language. More telling, perhaps, is that only 3 percent view Java as a platform only; whereas the remaining 35 percent consider Java just a language.

Experts say that this confusion has prohibited Java from realizing its “write once, run anywhere” potential. Indeed, 67 percent of CTOs surveyed feel Java has not reached that promise.

“Java has partly lived up to its expectations, but it certainly hasn’t surpassed expectations because the reality is that Java is not everywhere,” says Neal Goldman, an analyst at The Yankee Group in Boston.

Many users like the approach of Java being one language that runs on many platforms, particularly multivendor shops. By using one language for development, the cost of learning multiple languages is reduced, and the potential for vendor lock-in is somewhat diminished.

“I prefer the Java approach of a single language with a strong run-time environment and standard enterprise APIs. I want to have many choices of vendors for software and hardware, and I want to minimize the number of programming environments our team must learn. This makes sense to me for not just Web services, but almost all new software development,” says Manish Arya, CTO and vice president of engineering at Tavant Technologies, a Santa Clara, Calif.-based provider of software for managing distribution channels.

Meanwhile, with its recently unveiled Visual Studio.Net tool suite, Microsoft is taking the opposite tack, enabling many languages to run on one platform. With the Common Language Runtime, part of Microsoft’s Web services toolbox, developers can build applications in any one of more than 20 languages, then run that code on .Net servers.

Experts say that, at least in theory, Java’s approach enables users to avoid vendor lock-in, whereas Microsoft’s enables more freedom on the programming language side, but still ties users into Windows servers.

“We’re at one of those critical moments where it’s time to step back and look at what is happening,” explains Rick Ross, president of the Java Lobby, an organization dedicated to representing the concerns of the Java developers and users, based in Cary, N.C. “If you move down the path toward .Net, you’re moving to single vendor lock-in.”

But Microsoft has a devout legion of developers on its side, making that talent easier to find and hire. Furthermore, despite Java’s growing momentum and certain specific technological advantages, developer education remains a concern to 53 percent of the CTOs surveyed.

“What I want now is more depth of expertise. Depth will win over flexibility in the long run,” says Gary Baney, CTO of the National Association of System Administrators, in Crystal Lake, Ill.