To: WTSherman who wrote (10872 ) 6/1/1999 7:26:00 PM From: Andrew Fenic Read Replies (1) | Respond to of 19079
I sense there are quite a few misconceptions about Java on this thread. Nowadays the industry leaders, as I perceived at a recent (MAY 99) software development conference, seem more or less agreed on the following key points: 1. Modern Java Virtual Machines are very fast. 2. Java is intended for server-centric development. 3. Java is in widespread use today for enterprise development. 4. Java is rapidly overtaking C++ as a Server development platform. 5. Java Servlets are arguably the best way to do dynamic web sites. 6. Java/EJB/CORBA/C++ is a great combination for large scale systems The complaints seem to come from people who are using Java as a replacement to Visual BASIC or Power Builder for fat client application development. Their points are valid. Java's AWT is a relatively weak class library and the Java IDE's are still fairly immature. Fat client applications written in Java tend to be unimpressive for those reasons. Those arguments miss the point of Java, however. Larry Ellison is pushing network-centric computing where Java components reside primarily on the server and most user-side content is delivered as dynamically generated HTML. As a language for stored procedures and server side components, Java is great. The inefficiencies of the GUI libraries are not a factor and Just-In-Time (JIT) compilers can really show off their muscle. It is absolutely the right time for Oracle to embrace Java on the server. Developers who use that technology today will not be disappointed with performance. Servlets, particularly, are an awesome replacement to CGI; much faster and more elegant. I believe most of the misconceptions regarding Java have come from its use on the client for GUI stuff. Nowadays, however, nearly all reports and more and more interactive content is delivered through dynamic HTML -- both on the Internet and increasingly on the Intranet. Java is an ideal platform to generate that content and, also, manage all of the back end services and components required to produce it. Where performance is absolutely critical, technologies like CORBA may be employed to allow Java and C++ components to interoperate.