- 作者:zhaozj
- 发表时间:2020-12-23 11:02
- 来源:未知
Java as a Scientific Programming Language (Part 1)By Ken Ritley
We live in a technological world, at the heart of which are scientists and engineers. They need programming tools to help make important discoveries and bring the next generation of technology to market.
In this article, we'll discuss what scientific programs are and whether Java is suited for the high-performance, numerically intensive applications which technical applications demand — in short, whether Java has a future for scientific computing. We'll also provide a list of resources for scientists new to the Java language. In Part 2, we'll examine the structure of a typical scientific program more closely, and we'll give you a short "style guide" that can help scientists write good Java programs.
The Programs Scientists Use
When the author developed scientific programs as a physics undergraduate in the early 1980s, there was only one type of scientific program: the type you wrote yourself, in Fortran, for large multi-user mainframe systems.
Types of Scientific Programs |
Commercial scientific applications accomplish some specific task, such as image processing, the analysis of electronic circuits, the simulation of load-bearing structures for mechanical engineering, and so forth. These are usually complete with fancy graphics and GUIs — and cost hundreds to thousands of dollars. Scientific programming environments, such as Mathematica, PV-Wave, MathCad, Origin and Igor Pro, are perfect examples. Similar to the traditional programming IDEs that programmers know and love, these are what scientists and engineers use for their daily work. Some type of procedural programming language (similar to Fortran) is bundled with a user-friendly GUI and packaged with copious scientific tools for solving equations, plotting data, dealing with huge arrays of numbers, performing simulations, and so on. It's here that scientists can quickly test a new idea, develop a scientific model and see if it agrees with experimental data, or devise a new type of data analysis, for example. |