next up previous print clean
Next: C++ Up: Why Java? Previous: What about ...

Fortran

Although Fortran is not a pleasant language to use, it does have the advantages of universality and (usually) relative efficiency. Brain W. Kernighan (Author of C)
I don't know what the language of the year 2000 will look like, but it will be called Fortran. C.A.R. Hoare

Fortran77 is a serious alternative to Java (or C++). Not because it challenges Java's abilities directly, but by emphasizing a different set of goals. The two languages can hardly be compared. Fortran77 is easy to learn and to use. Classic Fortran77 is limited to a small set of language features. Fortran77 was once universaly available. I believe that Fortran77 limits a programmers thinking to the few paradigms Fortran supports well: arrays and do loops.

Fortran90 adds object-like structures, infix and array section syntax, and dynamic memory allocation for variables.

But Fortran90's lack of inheritance and polymorphism limit its expressiveness. Furthermore, Fortran90's object-oriented features slows down a Fortran code's execution speed, the major merit of the language. However, because of Fortran90's ability to execute efficient Fortran 77 code, it offers the programmer a direct trade-off between execution speed and expressiveness. Non-scientific applications, such as IO streams, data formatting, or graphics are difficult to program in Fortran. Consequently, few programmers can live on Fortran alone. Fortran90 compiler, however, were slow to arrive on all our platforms. Linux and GNU still do not offer a Fortran90 compiler. I believe the number of Fortran programmer's is declining. Only few places outside of sciences and applied engineering use Fortran. Most computer science departments do not teach Fortran to their students. Students in the sciences should consider a computer language that offers more career opportunities after graduation than Fortran.

Nevertheless, Fortran code can be fast. Consequently, I advocate to use Fortran the way Fortran programmers used assembler language many years ago: only where absolutely necessary.

The specifications of Fortran2000 would make Fortran into a true object-oriented language. However, these abstract language features will come at the same performance decrease that other object-oriented languages experience.


next up previous print clean
Next: C++ Up: Why Java? Previous: What about ...
Stanford Exploration Project
3/8/1999