next up previous contents
Next: C++ Up: Comparison of Languages Previous: Comparison of Languages   Contents


Java

Java started out as a Sun Microsystems funded internal corporate research project that tried to develop intelligent consumer electronic devices in 1990. A C and C++ based language called Oak--the former name of Java--was developed as a result of this project. After the World Wide Web exploded in popularity in 1993, the potential of using Java to create Web pages emerged. Although Java applets have lost some popularity, the Java language has continued to gain new applications. The Java Grande Forum [33] has been set up to co-ordinate the community's efforts to standardize many aspects of Java and so ensure that its future development makes it more appropriate for scientific programmers. A ``Grande'' application can be described as one with a large scale nature, potentially requiring any combination of computers, network, I/O, and memory-intensive applications. Examples include, financial modeling, aircraft simulation, climate and weather, satellite image processing and earthquake predication. Two major working group of the Java Grande Forum are the Numerics Working Group and the Applications and Concurrency Working Group. The Applications and Concurrency Working Group has been looking directly at uses of Java in parallel and distributed computing. The Numerics Working Group [45] has focused on five critical areas where improvements to the Java language are needed: floating-point arithmetic, complex arithmetic, multidimensional arrays, lightweight classes, and operator overloading. Lightweight classes and operator overloading provide key components to proposed improvements for complex arithmetic and multidimensional arrays. Associated developments have helped establish the case that Java can meet the vital performance constraints for numerically intensive computing. A series of papers from IBM [40,41,56], for example, demonstrated how to apply aggressive optimizations in Java compilers to obtain performance competitive with Fortran. In a recent paper [42] they described a case study involving a data mining application that used the Java Array package supported by the Java Grande Numerics Working Group. Using the experimental IBM HPCJ Java compiler they reported obtaining over 90% of the performance of Fortran.
next up previous contents
Next: C++ Up: Comparison of Languages Previous: Comparison of Languages   Contents
Bryan Carpenter 2004-06-09