| Here we list some of the major benefits that Java can provide for 
              general science and engineering applications: 
              Platform IndependenceScientists use more types of computers and OS's that most other 
                groups. Code that can be exchanged without requiring rewrites 
                and recompilation saves time and effort.
 
 
 Object OrientedBesides the usual 
                benefits from OOP, many scientific programs can benefit from 
                thinking in terms of objects. For example, particles in a scattering 
                simulation are naturally self-contained objects.
 
 
 Threading Multi-processing is very useful for many scientific tasks, such 
                as, for example, simulations of phenomena where many processes 
                occur simultaneously.
 
 
Networking Java comes with many networking capabilities that allow one to 
                build distributed systems. Such capabilities can be applied, for 
                example, to remote data taking from sensors.
 
 
Embedded ApplicationsThe original Oak language from which Java derived was intended 
                for embedded applications. 
                Platform independence and the other items mentioned above, as 
                well as the adaptability of Java that allows it to work on micro-sized 
                platforms by shedding nonessential code, has made Java very popular 
                for use in embedded devices such as smart cards and cell phones. 
                It can thus also be embedded into sensors, controllers, and other 
                types of engineering and scientific devices. See Chapter 
                23 for more discussion about this.
 
 
Distributed Computing In chapters 16-20 
                we will examine how Java can effectively distribute computational 
                power over many systems and use this capability to tackle tough 
                scientific and engineering analysis problems.
 
 
Interfacing & Enhancing Legacy 
                Code Java's strong graphics and networking capabilities can be applied 
                to existing C & Fortran programs. There have been mountains 
                of very important and complex programs, especially for numerically 
                intensive tasks, created over the decades in these languages and 
                it would be too expensive to reprogram them in a different language.
 
 Java, however, can connect to such programs and bring to them 
                new capabilities. For example, a Java graphical interface can 
                bring enhanced ease of use to a Fortran or C program, which then 
                acts as a computational engine behind the GUI.
 
 Similarly, Java's networking features can bring far greater accessiblity 
                to these programs.
 Latest update: Dec.10.2003 |