Abstract
This article addresses the need for engineers to have a working knowledge of the fundamental structures of computer programming languages. In pursuit of this, it briefly looks at the history behind four of the more well-known programming languages. It then attempts to identify, and to look critically at, the attributes of programming languages that significantly affect the production of engineering software. The four “traditional” procedural programming languages chosen for review are those intended for scientific and general purpose programmin—FORTRAN-77, C, Pascal, and Modula-2. These languages are compared and some general observations are made.
The emphasis of this article is on the attributes, characteristics, and components of programming languages that are important to software development and maintenance. Consequently, the comparison itself is of secondary importance, with the actual methodology of comparison given prominence in order that professional engineers who need to develop engineering software are able to make rational decisions about the choice of a programming language. Choosing an appropriate language can be a complex task and many factors must be considered. Therefore, in this article the fundamental structures, constructs, and attributes of programming languages are discussed, with very little attention given to the specific syntax of any particular language.
Similar content being viewed by others
References
Rasdorf, W.J.; Storaasli, O.O. Educational fundamentals of computer aided engineering. Int. J. Appl. Eng. Ed., Pergamon Press 3(3), 247–254
Goldberg, A. (1984) Smalltalk-80—The Interactive Programming Environment. Reading, MA: Addison-Wesley
Backus, J. (1981) The history of FORTRAN I, II and III. In: History of Programming Languages (Ed. R.L. Wexelblat). New York: Academic Press
Kernighan, B.W.; Ritchie, D.M. (1978) The C Programming Language. Englewood Cliffs, NJ: Prentice-Hall
Jensen, K.; Wirth, N. (1978) PASCAL User Manual and Report, 2nd ed. New York: Springer-Verlag
Wirth, N. (1982) Programming in Modula-2, 2nd ed. Berlin: Springer-Verlag
Wulf, W.A.; Shaw, M.; Hilfinger, P.N.; Flon, L. (1981) Fundamental Structures of Computer Science. Reading, MA: Addison-Wesley
Elson, M. (1973) Concepts of Programming Languages. Chicago: Science Research Associates
MacLennan, B.J. (1983) Principles of Programming Languages: Design, Evaluation, and Implementation. New York: Holt, Rinehart and Winston
Shaw, M.; Almes, G.T.; Newcomer, J.N.; Reid, B.K.; Wulf, W.A. (1981) A comparison of programming languages for software engineering. Sofw. Pract. Exp. 11(1), January, pp. 1–52. Also excerpted in A. Feuer; N. Gehani (Eds.) (1984) Comparing and Asessing Programming Languages: Ada, C and Pascal. Englewood Cliffs, NJ: Prentice-Hall
American National Standards Committee. (1978) American National Standard Programming Language FORTRAN (FORTRAN 77). Document X3J3/90, X3 Secretariat, CBEMA/Standards, Washington, DC
Katzan, H. (1978) FORTRAN 77. New York: Van Nostrand Reinhold
BYTE Magazine. (1983) Special Issue on C. August
Atkinson, L. (1981) Pascal Programming. Chichester, UK: Wiley
BYTE Magazine. (1984) Special Issue on Modula-2. August
Pomberger, G. (1984) Software Engineering and Modula-2. Englewood Cliffs, NJ: Prentice-Hall
Coar, D. (1984) Pascal, Ada, and Modula-2: A system programmer's comparison BYTE, August
Feuer, A.; Gehani, N. (Eds.) (1984) Comparing and Assessing Programming Languages: Ada, C and Pascal. Englewood Cliffs, NJ: Prentice-Hall
Pratt, T.W. (1984) Programming Languages: Design and Implementation, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall
Wirth, N. (1984) Programming languages: What to demand and how to assess them. In: Comparing and Assessing Programming Languages: Ada, C and Pascal (Eds. A. Feuer, N. Gehani). Englewood Cliffs, NJ: Prentice-Hall
Holtz, N.M.; Rasdorf, W.J. (1983) LISP-A CAD system programming language. J. Tech. Top. Civ. Eng., ASCE 109(1), 58–72
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Holtz, N.M., Rasdorf, W.J. An evaluation of programming languages and language features for engineering software development. Engineering with Computers 3, 183–199 (1988). https://doi.org/10.1007/BF01202140
Issue Date:
DOI: https://doi.org/10.1007/BF01202140