Abstract
This is the 23rd Self-Assessment Procedure.1 The purpose of this procedure is to let its readers test their knowledge of some of the more important features of significant programming languages. The features of imperative languages like Fortran, Algol 60, PL/I, Pascal, Modula-2, C, and Ada considered are data types, data structures, control structures, program units, scope of names, and parameter passing. Some of the corresponding features of functional languages like Lisp, logic programming languages like Prolog, and ohject-oriented programming languages like C++ and Smalltalk, are reviewed. Finally brief consideration is given to syntax and semantics, chiefly by reference to the Backus-Naur form, BNF. The features of programming languages affect all aspects of programming, including the ease of writing and maintaining programs, the reliahility of software, and the efficiency and portability of programs. Knowledge of programming language concepts and constructs is of importance to software developers, programmers, and designers of programming languages and compilers. The topic of this procedure should be of interest to any computer science student or practitioner who wishes to test his or her knowledge and learn more about one of the most important and broad areas in the computer field. The language used most often in the questions is Pascal, with Ada, Lisp, and Prolog also featured prominently. A glossary is included which defines some of the terms used in the procedure. The questions are either multiple-choice or short answer. Some of the multiple-choice questions allow for more than one correct answer.
- 1 Appleby, D., Programming Language; Paradigm and Practice, McGraw-Hill, New York, 1991. Google ScholarDigital Library
- 2 Ghezzi, C., and Jazayeri, M., Programming Language Concepts, 2nd ed., Wiley, New York, 1987. Google ScholarDigital Library
- 3 Kasmin, S.N. Programming Language; An Interpreter-BAsed Approach, Addition- wesley , Reading, Mass., 1987. Google ScholarDigital Library
- 4 MacLennian B.J., principle of Programming Language; Design, Evalution and Implementation, 2nd ed., Holt, Rinehart and Winston New York, 1987. Google ScholarDigital Library
- 5 Pratt, T.W., Programming Langugage ; Design and Implementation , 2nd ed., Prentice-Hall, Englewoodcliffs, N.J., 1984. Google ScholarDigital Library
- 6 Sebata, R.W., CONCEPTS of programing languages, Benjamin/cummings Redwood city, Cal., 1989. Google ScholarDigital Library
- 7 Sethi,R. Programming languages: Concepts and constructs, Addison- Wesley, Reading Mass., 1989. Google ScholarDigital Library
- 8 WILSON, L.B, and Clark R.G., Comparative progamming languages Addison -wesley Reading,Mass.,.1988. Google ScholarDigital Library
- 9 Gelernter D., and Jagannathan S., Progamming Linguistics The MIT Press, Cambridge ,Mass., 1990. Google ScholarDigital Library
- 10 Marcotty, M., and Ledgard, H., Progamming Language languages: Syntax Semantics ,and implimentation ,2nd ed., SRA Chicago, 1986. Google ScholarDigital Library
- 11 Sammet, J.E., Progamming Languages: History and fundamentals, Prentice-Hall, Englewood Cliffs, N.J., 1969. Google ScholarDigital Library
- 12 Tucker, A.B., Programming languages, 2nd ed., Mcgraw- Hill, New york, 1986. Google ScholarDigital Library
Index Terms
Self-Assessment Procedure XXIII: programming languages
Recommendations
Procedure-oriented languages
Encyclopedia of Computer ScienceProcedure-oriented languages (POLs) are artificial languages used to define, in a form understandable to humans, the actions required by a computer to solve a problem. The higher-level form of a POL frees a programmer from the time-consuming and often ...
The SL5 procedure mechanism
This paper describes an integrated procedure mechanism that permits procedures to be used as recursive functions or as coroutines. This integration is accomplished by treating procedures and their activation records (called environments) as data objects ...
Procedure referencing environments in SL5
POPL '76: Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languagesSL5 is a programming language developed for experimental work in generalized pattern matching and high-level data structuring and access mechanisms. This paper describes the procedure mechanism and the conventions for the interpretation of identifiers ...
Comments