Jr. Cary et al., COMPARISON OF C-90 FOR OBJECT-ORIENTED SCIENTIFIC PROGRAMMING(+ AND FORTRAN), Computer physics communications, 105(1), 1997, pp. 20-36
C++ and Fortran 90 are compared as object-oriented languages for use i
n scientific computing, C++ is a full-featured, object-oriented langua
ge that provides support for inheritance and polymorphism. Fortran 90
can mimic some object-oriented features through combinations of its TY
PE and MODULE syntax elements, but it lacks inheritance and thus does
not permit code reuse to the same extent as C++. Each language has oth
er useful features unrelated to object-oriented programming, but the a
dditional features of Fortran 90 can be included in C++ through the de
velopment of class libraries. in contrast, including the additional fe
atures of C++ in Fortran 90 would require further development of the F
ortran 90 syntax. A critical feature missing in Fortran 90 is the temp
late, which allows C++ programmers to build portable, reusable code an
d to dramatically improve the efficiency of the evaluation of complex
expressions involving user-defined data types. (C) 1997 Elsevier Scien
ce B.V.