The release of Java 2 enterprise edition was for many a sign that Java had come of age and was robust enough to support enterprise-wide applications, writes Ross Bentley.
Many organisations are looking at Java to see how they can incorporate it into their strategies. But, says Mike Lucas, technology director at Compuware, for many firms the biggest challenge is finding the right people.
Lucas points to recent statistics from analyst Gartner, showing that of the 1.7 million people worldwide who say they have Java skills, only 35,000 have certification. In the same report, Gartner also predicts that less than half the job vacancies for Java programmers will be satisfied by 2003.
Research from the Software Productivity Consortium may also give some clues as to why the uptake of Java has not matched expectations, says Lucas.
"In a study on relative productivity rates the consortium says that compared with programmers working in languages such as Cobol, Pascal and C, programmers working in Java, C++ and other third-generation are twice as productive," explains Lucas.
"However, when comparing Java programming with fourth-generation languages, such as Compuware's Uniface and Sybase Powerhouse, Java programmers are seen to be half as productive," he says.
If companies commit to Java they may have to be prepared to accept a drop in productivity rates, he says.
Another obstacle to Java adoption may be the training costs involved in getting someone up to speed with the programming language.
Lucas says that it costs on average $23,000 (£15,000) to train a C++ programmer to become a Java programmer and $57,000 to train up a Cobol programmer in Java.
"Somehow you have to clone the experience of Java programmers and make it available to those programming in other languages. Using patterns embedded in Java, it is possible to remove the more mundane tasks from Java programming and improve productivity," says Lucas.
Compuware has developed modelling software that enables those who usually work with Cobol and C++ to be productive in Java. The software uses the patterns within Java to allow Java applications to be built using a visual interface.
"This allows programmers to focus on the business parts of Java and not get bogged down with the low-level details while the software facilitates the conversion of the business model into a working application," he says.
While programmers using this software may not be able to do the things with Java that a fully conversant programmer might, Lucas says it can be effective when used within a development team environment.
"A team will be overlooked by a Java guru who will be able to advise and make changes and bring the whole thing together," says Lucas.
But will the issues around skill shortages and training costs mean that ultimately Java will never be adopted on a mass scale.
"Java has all the attributes to be successful - once you have the resources to make good use of it," he says.