2.5 Functional Programming



next up previous
Next: 3 Numerical Robustness Up: 2 Comparison of Fortran Previous: 2.4 Object Oriented Programming

2.5 Functional Programming

 

Because of the lack of recursion and data structures, Fortran 77 is clearly last in this category also. The other three languages all have these essential aspects for functional programming. Of the three, however, only Fortran 90 allows lazy evaluation; standard C (and hence C++) specifies a ``sequence point" between function argument evaluation and evaluation of the function itself, precluding lazy evaluation of function arguments. Thus Fortran 90 must be ranked first of the four in this category. Polymorphism is also important in functional programming, and C++ is superior to C in this regard.



verena@csep1.phy.ornl.gov