Fundamentals of Programming Languages

" .. .1 always worked with programming languages because it seemed to me that until you could understand those, you really couldn't understand computers. Understanding them doesn't really mean only being able to use them. A lot of people can use them without understanding them."...

Full description

Bibliographic Details
Main Author: Horowitz, E.
Format: eBook
Language:English
Published: Berlin, Heidelberg Springer Berlin Heidelberg 1984, 1984
Edition:2nd ed. 1984
Subjects:
Online Access:
Collection: Springer Book Archives -2004 - Collection details see MPG.ReNa
LEADER 05578nmm a2200289 u 4500
001 EB000670333
003 EBX01000000000000000523415
005 00000000000000.0
007 cr|||||||||||||||||||||
008 140122 ||| eng
020 |a 9783642694066 
100 1 |a Horowitz, E. 
245 0 0 |a Fundamentals of Programming Languages  |h Elektronische Ressource  |c by E. Horowitz 
250 |a 2nd ed. 1984 
260 |a Berlin, Heidelberg  |b Springer Berlin Heidelberg  |c 1984, 1984 
300 |a XVI, 446 p  |b online resource 
505 0 |a 9.4 Exception Handling in MESA -- 9.5 Exception Handling in Ada -- Concepts Discussed in This Chapter -- Exercises -- 10. Concurrency -- 10.1 Basic Concepts -- 10.2 Semaphores -- 10.3 Monitors -- 10.4 Message Passing -- 10.5 Concurrency in Ada -- Concepts Discussed in This Chapter -- Exercises -- 11. Input-Output -- Concepts Discussed in This Chapter -- Exercises -- 12. Functional Programming -- 12.1 What is Functional Programming -- 12.2 The Basics of LISP -- 12.3 The LIST Interpreter -- 12.4 FUNARGs and FEXPRs -- 12.5 The PROG Feature -- 12.6 Delayed Evaluation -- Concepts Discussed in This Chapter -- Exercises -- 13. Data Flow Programming Languages -- 13.1 The Data Flow Model -- 13.2 Language Design Goals -- 13.3 VAL—A Data Flow Programming Language -- Concepts Discussed in This Chapter -- Exercises -- 14. Object Oriented Programming Languages -- 14.1 History -- 14.2 Division of Smalltalk into Programming Language and User Interface --  
505 0 |a 5.3 Elementary Data Types -- 5.4 Pointer Data Type -- 5.5 Structured Data Types -- 5.6 Type Coercion -- 5.7 Type Equivalence -- 5.8 A Look at Ada and Types -- Concepts Discussed in This Chapter -- Exercises -- 6. Scope and Extent -- 6.1 The Basics -- 6.2 Run-time Implementation -- 6.3 An Extended Example -- 6.4 Binding, Scope and Extent Revisited -- 6.5 A Look at Ada and Scope -- Concepts Discussed in This Chapter -- Exercises -- 7. Procedures -- 7.1 General Features -- 7.2 Parameter Evaluation and Passing -- 7.3 Call-By-Name -- 7.4 Specification of Objects in a Procedure -- 7.5 Aliasing -- 7.6 Overloading -- 7.7 Generic Functions -- 7.8 Coroutines -- Concepts Discussed in This Chapter -- Exercises -- 8. Data Abstraction -- 8.1 An Introduction -- 8.2 MODULA -- 8.3 Euclid -- 8.4 Ada -- 8.5 SIMULA 67 -- 8.6 Abstract Data Types -- Concepts Discussed in This Chapter -- Exercises -- 9. Exception Handling -- 9.1 Design Issues -- 9.2 PL/I ON-Conditions -- 9.3 Exception Handling in CLU --  
505 0 |a 14.3 Smalltalk: Object Oriented Programming Language -- 14.4 Smalltalk: Object Oriented User Interface -- 14.5 Design Principles -- Concepts Discussed in This Chapter -- Exercises -- References 
505 0 |a 1. The Evolution of Programming Languages -- 1.1 Early History -- 1.2 Early Modern History -- 1.3 FORTRAN and ALGOL 60 -- 1.4 The Stormy’ 60s -- 1.5 Advances in the’ 70s -- Concepts Discussed in This Chapter -- Exercises -- 2. The Challenge of Programming Language Design -- 2.1 Criteria for Language Design -- 2.2 Some Possible Solutions -- Concepts Discussed in This Chapter -- Exercises -- 3. Defining Syntax -- 3.1 The Character Set -- 3.2 BNF -- 3.3 Syntax Graphs -- 3.4 Syntax and Program Reliability -- Concepts Discussed in This Chapter -- Exercises -- 4. Variables, Expressions and Statements -- 4.1 Variables and the Assignment Statement -- 4.2 Binding Time and Storage Allocation -- 4.3 Constants and Initialization -- 4.4 Expressions -- 4.5 Conditional Statements -- 4.6 Iterative Statements -- 4.7 The GOTO Statement and Labels -- 4.8 A First Look at Ada -- Concepts Discussed in This Chapter -- Exercises -- 5. Types -- 5.1 Data Types and Typing -- 5.2 Enumerated Data Types --  
653 |a Programming Languages, Compilers, Interpreters 
653 |a Programming languages (Electronic computers) 
041 0 7 |a eng  |2 ISO 639-2 
989 |b SBA  |a Springer Book Archives -2004 
856 4 0 |u https://doi.org/10.1007/978-3-642-69406-6?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 005.13 
520 |a " .. .1 always worked with programming languages because it seemed to me that until you could understand those, you really couldn't understand computers. Understanding them doesn't really mean only being able to use them. A lot of people can use them without understanding them." Christopher Strachey The development of programming languages is one of the finest intellectual achievements of the new discipline called Computer Science. And yet, there is no other subject that I know of, that has such emotionalism and mystique associated with it. Thus, my attempt to write about this highly charged subject is taken with a good deal of in my role as professor I have felt the need for a caution. Nevertheless, modern treatment of this subject. Traditional books on programming languages are like abbreviated language manuals, but this book takes a fundamentally different point of view. I believe that the best possible way to study and understand today's programming languages is by focusing on a few essential concepts. These concepts form the outline for this book and include such topics as variables, expressions, statements, typing, scope, procedures, data types, exception handling and concurrency. By understanding what these concepts are and how they are realized in different programming languages, one arrives at a level of comprehension far greater than one gets by writing some programs in a xii Preface few languages. Moreover, knowledge of these concepts provides a framework for understanding future language designs