Concepts in Programming Languages

Front Cover
Cambridge University Press, 2003 - Computers - 529 pages
5 Reviews
Concepts in Programming Languages elucidates the central concepts used in modern programming languages, such as functions, types, memory management, and control. The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concurrency, concurrent object-oriented programming, program components, and inter-language interoperability. A chapter on logic programming illustrates the importance of specialized programming methods for certain kinds of problems.
 

What people are saying - Write a review

User ratings

5 stars
2
4 stars
2
3 stars
0
2 stars
0
1 star
1

User Review - Flag as inappropriate

programing

User Review - Flag as inappropriate

nmkko,,ol

Selected pages

Contents

INTRODUCTION
3
12 GOALS
5
13 PROGRAMMING LANGUAGE HISTORY
6
CONCEPTS AND LANGUAGES
8
COMPUTABILITY
10
22 CHAPTER SUMMARY
16
LISP FUNCTIONS RECURSION AND LISTS
18
32 GOOD LANGUAGE DESIGN
20
EXERCISES
271
CONCEPTS IN OBJECTORIENTED LANGUAGES
277
102 FOUR BASIC CONCEPTS IN OBJECTORIENTED LANGUAGES
278
103 PROGRAM STRUCTURE
288
104 DESIGN PATTERNS
290
105 CHAPTER SUMMARY
292
SIMULA SMALLTALK C++ JAVA
293
EXERCISES
294

33 BRIEF LANGUAGE OVERVIEW
22
34 INNOVATIONS IN THE DESIGN OF LISP
25
CONTRIBUTIONS OF LISP
39
EXERCISES
40
FUNDAMENTALS
48
42 LAMBDA CALCULUS
57
43 DENOTATIONAL SEMANTICS
67
44 FUNCTIONAL AND IMPERATIVE LANGUAGES
76
45 CHAPTER SUMMARY
82
EXERCISES
83
PROCEDURES TYPES MEMORY MANAGEMENT AND CONTROL
91
THE ALGOL FAMILY AND ML
93
52 THE DEVELOPMENT OF C
99
53 THE LCF SYSTEM AND ML
101
54 THE ML PROGRAMMING LANGUAGE
103
55 CHAPTER SUMMARY
121
EXERCISES
122
TYPE SYSTEMS AND TYPE INFERENCE
129
62 TYPE SAFETY AND TYPE CHECKING
132
63 TYPE INFERENCE
135
64 POLYMORPHISM AND OVERLOADING
145
65 TYPE DECLARATIONS AND TYPE EQUALITY
151
66 CHAPTER SUMMARY
155
EXERCISES
156
SCOPE FUNCTIONS AND STORAGE MANAGEMENT
162
72 INLINE BLOCKS
165
73 FUNCTIONS AND PROCEDURES
170
74 HIGHERORDER FUNCTIONS
182
75 CHAPTER SUMMARY
190
EXERCISES
191
CONTROL IN SEQUENTIAL LANGUAGES
204
82 EXCEPTIONS
207
83 CONTINUATIONS
218
84 FUNCTIONS AND EVALUATION ORDER
223
85 CHAPTER SUMMARY
227
EXERCISES
228
MODULARITY ABSTRACTION AND OBJECTORIENTED PROGRAMMING
233
DATA ABSTRACTION AND MODULARITY
235
92 LANGUAGE SUPPORT FOR ABSTRACTION
242
93 MODULES
252
94 GENERIC ABSTRACTIONS
259
95 CHAPTER SUMMARY
269
HISTORY OF OBJECTS SIMULA AND SMALLTALK
300
112 OBJECTS IN SIMULA
303
113 SUBCLASSES AND SUBTYPES IN SIMULA
308
114 DEVELOPMENT OF SMALLTALK
310
115 SMALLTALK LANGUAGE FEATURES
312
116 SMALLTALK FLEXIBILITY
318
117 RELATIONSHIP BETWEEN SUBTYPING AND INHERITANCE
322
118 CHAPTER SUMMARY
326
EXERCISES
327
OBJECTS AND RUNTIME EFFICIENCY C++
337
122 OVERVIEW OF C++
340
123 CLASSES INHERITANCE AND VIRTUAL FUNCTIONS
346
124 SUBTYPING
355
125 MULTIPLE INHERITANCE
359
126 CHAPTER SUMMARY
366
EXERCISES
367
PORTABILITY AND SAFETY JAVA
384
131 JAVA LANGUAGE OVERVIEW
386
132 JAVA CLASSES AND INHERITANCE
389
133 JAVA TYPES AND SUBTYPING
396
134 JAVA SYSTEM ARCHITECTURE
404
135 SECURITY FEATURES
412
136 JAVA SUMMARY
417
EXERCISES
420
CONCURRENCY AND LOGIC PROGRAMMING
429
CONCURRENT AND DISTRIBUTED PROGRAMMING
431
141 BASIC CONCEPTS IN CONCURRENCY
433
142 THE ACTOR MODEL
441
143 CONCURRENT ML
445
144 JAVA CONCURRENCY
454
145 CHAPTER SUMMARY
466
EXERCISES
469
THE LOGIC PROGRAMMING PARADIGM AND PROLOG
475
152 BRIEF OVERVIEW OF THE LOGIC PROGRAMMING PARADIGM
476
153 EQUATIONS SOLVED BY UNIFICATION AS ATOMIC ACTIONS
478
154 CLAUSES AS PARTS OF PROCEDURE DECLARATIONS
482
155 PROLOGS APPROACH TO PROGRAMMING
486
156 ARITHMETIC IN PROLOG
492
157 CONTROL AMBIVALENT SYNTAX AND METAVARIABLES
496
158 ASSESSMENT OF PROLOG
505
159 BIBLIOGRAPHIC REMARKS
507
Copyright

Other editions - View all

Common terms and phrases

References to this book

All Book Search results »

Bibliographic information