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.
Cotton seedling freezes to death as Chang'e-4 shuts down for the Moon's 14-day lunar night
Fortnite easily out-earns PUBG, Assassin's Creed Odyssey and Red Dead Redemption 2 in 2018
Meteor showers as a service will be visible for about 100 kilometres in all directions
Saturn's rings only formed in the past 100 million years, suggests analysis of Cassini space probe data
New findings contradict conventional belief that Saturn's rings were formed along with the planet about 4.5 billion years ago