Home : Course Map : Chapter 1 : Java : Tech :
Benefits of Java in Science & Engineering
JavaTech
Course Map
Chapter 1
Introduction
History
What is Java?
Versions
Java 5.0
Features

Java Process
Tools
Documentation
Compatibility
Getting Started
Simple Applet
Simple Application
Starters
Exercises

    Supplements
Interpret/Compile

Making WebPages
Plug-in
Java 5.0 Features
The JVM
Advanced JVMs
Alt. Compilers
Alt. JVMs
Java Deployment

     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

Here we list some of the major benefits that Java can provide for general science and engineering applications:

  • Platform Independence
    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.

  • Object Oriented
    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.

  • 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 Applications
    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.

  • 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

            Tech
Java in Science
    & Engineering
Benefits
Shortcomings
RealWorld Examples

           Physics
Java in Physics
SimulationTypes
Simulate&Analyze
Sim. in Experiments
  Demo 1: Event
  Demo 2: Continuous
  Demo 3: Static

Learn by Coding
Exercises

  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.