Abstract
The predominant programming language for numerical and scientific applications is Fortran, and super-computers are primarily used to run large-scale numerical and scientific applications. C is not widely used for numerical and scientific programming, yet C provides many desirable linguistic features not present in Fortran-77. Furthermore, the existence of a standard library and preprocessor eliminates the worst portability problems. A comparison of C and Fortran-77 shows several key deficiencies in C that reduce its desirability for some numerical problems. Some of these problems have already been addressed by the new ANSI standard for C, but others remain. C with a few extensions and modifications could be suitable for all numerical applications and could become more popular in supercomputing environments.
Similar content being viewed by others
References
ANSI X3J3 Committee. 1978. American National Standard X3.91978, Programming Language FORTRAN. Global Engineering Documents, Santa Ana, Calif.
ANSI X3J11 Committee. 1989. American National Standard X3.1591989, Programming Language C. Global Engineering Documents, Santa Ana, Calif.
Goldberg, D. 1989. Floating-point and computer systems. Xerox tech. rept. CSL-89-9 (Aug.).
IEEE. 1985. IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std. 754-1985).
Jaeschke, R. 1989. Portability and the C Language. Hayden.
MacDonald, T. 1989a. Adding complex arithmetic to C. The J. C Language Translation (June), 20–31.
MacDonald, T. 1989b. Aliasing issues in C. The J. C Language Translation (Sept.), 83–95.
MacDonald, T. 1989c. C language and numerical programming. The J. C Language Translation (Mar.), 9–16.
Plauger, P.J., and Brodie, J. 1989. Standard C: Programmers Quick Reference Guide. Microsoft Press.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Macdonald, T. C for numerical computing. J Supercomput 5, 31–48 (1991). https://doi.org/10.1007/BF00155856
Issue Date:
DOI: https://doi.org/10.1007/BF00155856