JAVA
|
In the traditional information technology marketplace, Java has been widely adopted as the preferred replacement for C and C++ because it offers reduced development and maintenance costs combined with superior reliability, flexibility, and generality. Early experiments with real-time Java technologies have demonstrated that Java can satisfy stringent real-time constraints.
|
Scientists 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.
|
Besides 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.
|
Multi-processing is very useful for many scientific tasks, such as, for example, simulations of phenomena where many processes occur simultaneously.
|
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.
|
The 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.
|
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.
|
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.
|
|