skip to main content
article
Free Access

Self-Assessment Procedure XXIII: programming languages

Authors Info & Claims
Published:01 May 1995Publication History
Skip Abstract Section

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.

References

  1. 1 Appleby, D., Programming Language; Paradigm and Practice, McGraw-Hill, New York, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Ghezzi, C., and Jazayeri, M., Programming Language Concepts, 2nd ed., Wiley, New York, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Kasmin, S.N. Programming Language; An Interpreter-BAsed Approach, Addition- wesley , Reading, Mass., 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 MacLennian B.J., principle of Programming Language; Design, Evalution and Implementation, 2nd ed., Holt, Rinehart and Winston New York, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Pratt, T.W., Programming Langugage ; Design and Implementation , 2nd ed., Prentice-Hall, Englewoodcliffs, N.J., 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Sebata, R.W., CONCEPTS of programing languages, Benjamin/cummings Redwood city, Cal., 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Sethi,R. Programming languages: Concepts and constructs, Addison- Wesley, Reading Mass., 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 WILSON, L.B, and Clark R.G., Comparative progamming languages Addison -wesley Reading,Mass.,.1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Gelernter D., and Jagannathan S., Progamming Linguistics The MIT Press, Cambridge ,Mass., 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Marcotty, M., and Ledgard, H., Progamming Language languages: Syntax Semantics ,and implimentation ,2nd ed., SRA Chicago, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Sammet, J.E., Progamming Languages: History and fundamentals, Prentice-Hall, Englewood Cliffs, N.J., 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Tucker, A.B., Programming languages, 2nd ed., Mcgraw- Hill, New york, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Self-Assessment Procedure XXIII: programming languages

        Recommendations

        Reviews

        Ann E. Fleury

        Like previous self-assessment procedures, this collection of 41 multiple-choice and short-answer questions is designed to allow a reader to “appraise and develop his or her own knowledge” (p. 90). Also as with previous procedures, a reference is provided with each suggested response. The topics it covers are data types and structures; control structures; names and data control; functional, logic, and object-oriented programming; and syntax and semantics. Many of the questions in the first three sections have a heavy Pascal accent, although a few involve concurrent processing methods and abstract data type implementation methods of other languages. Functional programming, logic programming, and object-oriented programming have four questions each. A small Backus-Naur form (BNF) grammar is used to test the reader's understanding of the formal definition of syntax; there are also two questions on formal semantics. Including the short-answer questions and allowing the possibility of more than one correct multiple-choice response has allowed high-caliber questions. The heavy emphasis on Pascal, while perhaps appropriate at the time the questions were originally written, seems somewhat out of place today. Such a question set written today might appropriately place more emphasis on object orientation and less on Pascal.

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Communications of the ACM
          Communications of the ACM  Volume 38, Issue 5
          May 1995
          82 pages
          ISSN:0001-0782
          EISSN:1557-7317
          DOI:10.1145/203356
          Issue’s Table of Contents

          Copyright © 1995 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 May 1995

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader