The world of programming languages
Author(s)
Bibliographic Information
The world of programming languages
(Springer books on professional computing)
Springer-Verlag, c1987
- us
- gw
Available at 16 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Original textbook ed.: Programming language landscape. 2nd ed. c1986
Bibliography: p. 323-345
Includes index
Description and Table of Contents
Description
The earth, viewed through the window of an airplane, shows a regularity and reptition of features, for example, hills, valleys, rivers, lakes, and forests. Nevertheless, there is great local variation; Vermont does not look like Utah. Similarly, if we rise above the details of a few programming languages, we can discern features that are common to many languages. This is the programming language landscape; the main features include variables, types, control structures, and input/output. Again, there is local variation; Pascal does not look like Basic. This work is a broad and comprehensive discussion of the principal features of the major programming languages. A Study of Concepts The text surveys the landscape of programming languages and its features. Each chapter concentrates on a single language concept. A simple model of the feature, expressed as a mini-language, is presented. This allows us to study an issue in depth and relative isolation. Each chapter concludes with a discussion of the way in which the concept is incorporated into some well-known languages. This permits a reasonably complete coverage of language issues.
Table of Contents
Preface.- Acknowledgements.- 1. Introduction.- 1.1 The Building of the Tower of Babel.- 1.2 What Is a Programming Language?.- 1.3 Why Study Programming Languages?.- 1.4 What Should We Look for in a Language?.- 1.5 Language Design Issues.- 1.6 The Study of Programming Languages.- Further Reading.- 2. Elements of a Programming Language.- 2.1 Informal Description of Mini-language Core.- 2.2 Informal Semantics of Mini-language Core.- 2.3 Language Design and the Programming Process.- 2.4 The Definition of Programming Languages.- 2.5 The Formal Description of Syntax.- 2.6 Other Context-free Syntax Definitions.- Further Reading.- 3. Names, Locations, and Values.- 3.1 Mini-language Ref.- 3.2 Declarations.- 3.3 Assignment.- 3.4 Statements as Expressions.- 3.5 Where to Look: Algol 68, Smalltalk.- Further Reading.- 4. Control Structures.- 4.1 Mini-language Control.- 4.2 Basic Control Structures and Flowgraphs.- 4.3 Theorems on Control Structures.- 4.4 Other One-in, One-out Control Structures.- 4.5 The Goto Statement and Label Values.- 4.6 Conclusions.- 4.7 Where to Look: Pascal, Ada.- Further Reading.- 5. Data Types.- 5.1 Mini-language Type.- 5.2 The Meaning of Type.- 5.3 Primitive Types.- 5.4 Array Types.- 5.5 Record Types.- 5.6 Type Checking.- 5.7 Where to Look: Fortran, PL/I.- Further Reading.- 6. Input and Output.- 6.1 Mini-language Format.- 6.2 Varieties of Input-output Specifications.- 6.3 Communication with the Outside World.- 6.4 Where to Look: Fortran, Cobol, Ada.- Further Reading.- 7. Procedures and Parameters.- 7.1 Mini-language Procedures.- 7.2 Procedures as Abstractions.- 7.3 Arguments and Parameters.- 7.4 Value-returning Procedures.- 7.5 Coroutines.- 7.6 Where to Look: PL/I, Ada.- Further Reading.- 8. Nesting and Scope.- 8.1 Mini-language Scope.- 8.2 The Idea of Scope.- 8.3 Storage Allocation.- 8.4 Dynamic Scope.- 8.5 Where to Look: Pascal, PL/I, APL.- Further Reading.- 9. Definition of New Data Types.- 9.1 Mini-language Typedef.- 9.2 Type Definitions.- 9.3 Definition of Structured Types.- 9.4 User Defined Operators.- 9.5 Where to Look: Pascal, Algol 68.- Further Reading.- 10. Dynamically Varying Structures.- 10.1 Mini-language Structures.- 10.2 Dynamically Varying Data Structures.- 10.3 Pointers.- 10.4 Design Criteria for Data Structures.- 10.5 Dynamic Allocation of Storage.- 10.6 Where to Look: PL/I, Pascal, Ada.- Further Reading.- 11. Exception Handling.- 11.1 Mini-language Exceptions.- 11.2 Exceptions.- 11.3 Issues in Exception Handling.- 11.4 Where to Look: PL/I, Ada.- Further Reading.- 12. Parallel Processing.- 12.1 Mini-language Parallel.- 12.2 A First Solution to the Decoding Problem.- 12.3 Putting a Buffer in a Task.- 12.4 Interrupting.- 12.5 Issues in Parallel Processing.- 12.6 Where to Look: Concurrent Pascal, Modula-2, Ada.- Further Reading.- 13. Separately Compiled Modules.- 13.1 Mini-language Modules.- 13.2 Packaging Subprograms.- 13.3 Abstract Data Types.- 13.4 Where to Look: PL/I, Modula 2, Ada, Smalltalk.- Further Reading.- 14. The Swamp of Complexity.- 14.1 The Forms of Complexity.- 14.2 Escaping from the Swamp.- References.
by "Nielsen BookData"