A programming language

  • Authors:
  • Kenneth E. Iverson

  • Affiliations:
  • -

  • Venue:
  • A programming language
  • Year:
  • 1962

Quantified Score

Hi-index 0.56

Visualization

Abstract

From the PrefaceApplied mathematics is largely concerned with the design andanalysis of explicit procedures for calculating the exact orapproximate values of various functions. Such explicit proceduresare called algorithms or programs. Because an effective notationfor the description of programs exhibits considerable syntacticstructure, it is called a programming language.Much of applied mathematics, particularly the more recentcomputer-related areas which cut across the older disciplines,suffers from the lack of an adequate programming language. It isthe central thesis of this book that the descriptive and analyticpower of an adequate programming language amply repays theconsiderable effort required for its mastery. This thesis isdeveloped by first presenting the entire language and then applyingit in later chapters to several major topics.The areas of application are chosen primarily for theirintrinsic interest and lack of previous treatment, but they arealso designed to illustrate the universality and other facets ofthe language. For example, the microprogramming of Chapter 2illustrates the divisibility of the language, i.e., the ability totreat a restricted area using only a small portion of the completelanguage. Chapter 6 (Sorting) shows its capacity to compass arelatively complex and detailed topic in a short space. Chapter 7(The Logical Calculus) emphasizes the formal manipulability of thelanguage and its utility in theoretical work.The material was developed largely in a graduate course givenfor several years at Harvard and in a later course presentedrepeatedly at the IBM Systems Research Institute in New York. Itshould prove suitable for a two-semester course at the senior orgraduate level. Although for certain audiences an initialpresentation of the entire language may be appropriate, I havefound it helpful to motivate the development by presenting theminimum notation required for a given topic, proceeding to itstreatment (e.g., microprogramming), and then returning to furthernotation. The 130-odd problems not only provide the necessaryfinger exercises but also develop results of general interest.Chapter 1 or some part of it is prerequisite to each of theremaining "applications" chapters, but the applications chaptersare virtually independent of one another. A complete appreciationof search techniques (Chapter 4) does, however, require a knowledgeof methods of representation (Chapter 3). The cross referenceswhich do occur in the applications chapters are either nonessentialor are specific to a given figure, table, or program. The entirelanguage presented in Chapter 1 is summarized for reference at theend of the book.