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…mehr
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.Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
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.
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.
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Internetauftritt der buecher.de internetstores GmbH
Geschäftsführung: Monica Sawhney | Roland Kölbl | Günter Hilger
Sitz der Gesellschaft: Batheyer Straße 115 - 117, 58099 Hagen
Postanschrift: Bürgermeister-Wegele-Str. 12, 86167 Augsburg
Amtsgericht Hagen HRB 13257
Steuernummer: 321/5800/1497