Java will not be ready for building mission-critical enterprise applications for another two years because the language is still maturing, according to a Java evangelist at Sun Microsystems.
But, when this happens, users can expect to see twice the productivity gains of C++, said Gary Downing, Sun?s Java Enterprise Technology Evangelist during a panel discussion on whether C++ was a legacy language at the Comdex Enterprise show in San Francisco this week.
He explained: ?If you?re trying to do millions of transactions per second, Java isn?t ready yet because the language is still maturing, but it will be ready in the next one to two years. Java is only in its fourth year, and it?s attacking the same problems as C++. When the APIs are mature enough, it will provide productivity gains of better than two, so most developers are cutting their losses on C++ and moving to Java.?
However, Allen Holub, president of Holub Associates, claimed that the Java threading model was still poor, which means it does not perform well on symmetrical multiprocessing machines, and the language was not good at handling the strings necessary for database applications.
There are also no decent modelling tools on the market for generating Java, he added, which means most of the current application design work needs to be done by hand.
Despite his criticisms, Holub was upbeat about the language, however.
?It?s harder to accidentally make a mistake in Java than it is in C++. It?s much simpler and certain dangerous aspects of C++ have been removed. The language is so-so, but the libraries are wonderful with a lot of good structure. We?ve learnt a lot from it with things like Java garbage collection, which is now being developed into libraries for C++. Just give Java a little longer to defend itself,? he said.
But, Stan Kelly-Bootle, author of The Computer Contradictory, attested that the advent of Java onto the marketplace did not necessarily mean that C++ was dead.
?The definition of the term legacy for software means it is mature, reliable and unfashionable, so noone can say that C++ is old and mature and on its last legs. C++ has got a good 20 years behind it, so you shouldn?t apply the negative connectations associated with legacy. There?s no degree of infinite maturity, but there are problems to be faced that Java can?t deal with and it?s very risky to do large applications in Java,? he said.
Microsoft seizes control of phishing sites linked with Russian state hackers
Fitness trackers over-estimate the number of steps their users take, analysis of 67 research reports suggests
Everything we think we know about the imminent Apple iPhone 9, iPhone 11 and iPhone 11 Plus launches
All the latest rumours about Apple iPhone Displays, CPUs, launch dates and even prices
Nvidia brings Turing microarchitecture into the high-end gaming segment