Fortran

History
FORTRAN (FORmula TRANslation) is one of the oldest programming languages, dating from the mid-fifties. It has passed through versions FORTRAN I, FORTRAN II, FORTRAN IV, FORTRAN77, and now Fortran 90. Interestingly, the American National Standards Institute (ANSI) committee now standardizing the language decided, as of Fortran 90, to change the spelling from "FORTRAN" to "Fortran."

New Features
Fortran 90 adds support of recursion, pointers, and programmer-defined data types to older versions of the language.

Fortran's Niche
The traditional strength of Fortran has always been scientific, mathematical, statistical, and engineering programming. The economic motivation for the inventors of Fortran and its early compilers (at IBM) was "This new-fangled thing called a 'compiler' must generate code that executes as fast as assembler language hand-coded by an expert; otherwise, the compiler won't sell." Here's an tidbit of Fortran code to sum the elements of an array having odd-number subscripts:
TOTAL = 0.0
DO 10 I = 1, 10, 2
TOTAL = TOTAL + A(I)
10 CONTINUE
This "triplet notation" of "1, 10, 2", which appears in many Fortran constructs, here means "iterate on I running from 1 to 10 in steps of 2." The triplet notation was adopted to ease the compiler's task of writing code making best use of the registers in the IBM 704 for speed of execution. In those days (the 1950's) of cheap programmer time and precious machine-cycle time, no one asked "Will this notation be regarded as easy to learn and use without error, and will it help or hinder the writing of easily understood, maintainable code?"
As a rough guide, the more heavily "number crunching" overshadows input and output operations within an application, the more suitable Fortran is likely to be for that application. The types of applications suitable for Fortran are "compute-bound" in contrast to "I/O bound." A Special Interest Group (SIG) of the Association for Computing Machinery (ACM), SIGPLAN, publishes a newsletter "Fortran Forum" which discusses Fortran capabilities and suitable applications.

Libraries Available to the Fortran User
Expert use of this language often entails usage of large libraries of mathematical and statistical subprocedures available. Two of the best known are the International Mathematical and Statistical Library (IMSL) and the Numerical Algorithms Group (NAG). These libraries make short work of computationally intensive tasks such as solving systems of linear equations, computing eigenvalues and eigenvectors of matrices, finding roots of polynomial or transcendental functions, integrating functions numerically (quadrature), solving systems of differential equations, and performing linear, polynomial, or non-linear regression. Another SIG of the ACM, SIGNUM, studies problems of such numerical algorithms (speed, memory usage, and maintenance of numerical precision).

Good references for numerical analysis:
Isaacson, Eugene, and Herbert Bishop Keller. 1966. Analysis of Numerical Methods. New York, New York: John Wiley & Sons, Incorporated.
Griffiths, D. V., and I. M. Smith. 1991. Numerical Methods for Engineers. Oxford, England, UK: Blackwell Scientific Publications.
The second book includes many Fortran examples.

New Directions for Fortran 90
Current research in compiler theory involves equipping compilers to generate object code able to exploit the capabilities of massively parallel computers. Fortran 90 compilers are a key target of such research.

References
Good references for Fortran are:
Tucker, Allen B. Jr. 1986. Programming Languages, 2nd edition. New York, New York: McGraw-Hill Book Company.
Nyhoff, Larry R., and Sanford C. Leestma. 1997. Fortran 90 for Engineers and Scientists. Upper Saddle River, New Jersey: Prentice-Hall, Incorporated.

Classes
Here at the University of Michigan - Dearborn, Fortran is taught in the CIS 101 class.
Numerical analysis is taught in MATH/CCM 472, Introduction to Numerical Analysis.

Tutorial available over the Internet: A FORTRAN 77 tutorial (basic level) and a Fortran 90 tutorial for people already knowing FORTRAN 77 here.

Tutorial available over the Internet: A FORTRAN 77 tutorial (basic level) and a Fortran 90 tutorial for people already knowing FORTRAN 77 is available here