Share
Fr. 90.00
Watt, Da Watt, David A Watt, David A. Watt, David A. (University of Glasgow) Watt, Watt David A.
Programming Language Design Concepts
English · Paperback / Softback
Shipping usually within 1 to 3 weeks (not available at short notice)
Description
Informationen zum Autor David Watt is a Professor of Computing Science at Glasgow University. His research interests include the design, specification, and implementation of programming languages, and he has published several books on the topic. He has many years of teaching experience on this and other programming subjects. Klappentext Explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major paradigms: imperative, OO, concurrent, functional, logic and with recent scripting languages. It gives greatest prominence to the OO paradigm.* Includes numerous examples using C, Java and C++ as exmplar languages* Additional case-study languages: Python, Haskell, Prolog and Ada* Extensive end-of-chapter exercises with sample solutions on the companion Web site* Deepens study by examining the motivation of programming languages not just their features Zusammenfassung Explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the paradigms: imperative, OO, concurrent, functional, logic and with scripting languages. This book includes numerous examples using C, Java and C++ as exemplar languages. Inhaltsverzeichnis Preface. PART I: INTRODUCTION. 1. Programming Languages. 1.1 Programming linguistics. 1.1.1 Concepts and paradigms. 1.1.2 Syntax, semantics, and pragmatics. 1.1.3 Language processors. 1.2 Historical development. Summary. Further reading. Exercises. PART II: BASIC CONCEPTS 2. Values and Types. 2.1 Types. 2.2 Primitive types. 2.2.1 Built-in primitive types. 2.2.2 Defined primitive types. 2.2.3 Discrete primitive types. 2.3 Composite types. 2.3.1 Cartesian products, structures, and records. 2.3.2 Mappings, arrays, and functions. 2.3.3 Disjoint unions, discriminated records, and objects. 2.4 Recursive types. 2.4.1 Lists. 2.4.2 Strings. 2.4.3 Recursive types in general. 2.5 Type systems. 2.5.1 Static vs dynamic typing. 2.5.2 Type equivalence. 2.5.3 The Type Completeness Principle. 2.6 Expressions. 2.6.1 Literals. 2. 6.2 Constructions. 2.6.3 Function calls. 2.6.4 Conditional expressions. 2.6.5 Iterative expressions. 2.6.6 Constant and variable accesses. 2.7 Implementation notes. 2.7.1 Representation of primitive types. 2.7.2 Representation of Cartesian products. 2.7.3 Representation of arrays. 2.7.4 Representation of disjoint unions. 2.7.5 Representation of recursive types. Summary. Further reading. Exercises. 3. Variables and Storage. 3.1 Variables and storage. 3.2 Simple variables. 3.3 Composite variables. 3.3.1 Total vs selective update. 3.3.2 Static vs dynamic vs flexible arrays. 3.4 Copy semantics vs reference semantics. 3.5 Lifetime. 3.5.1 Global and local variables. 3.5.2 Heap variables. 3.5.3 Persistent variables. 3.6 Pointers. 3.6.1 Pointers and recursive types. 3.6.2 Dangling pointers. 3.7 Commands. 3.7.1 Skips. 3.7.2 Assignments. 3.7.3 Procedure calls. 3.7.4 Sequential commands. 3.7.5 Collateral commands. 3.7.6 Conditional commands. 3.7.7 Iterative commands. 3.8 Expressions with side effects. 3.8.1 Command expressions. 3.8.2 Expression-oriented languages. 3.9 Implementation notes 3.9.1 Storage for global and local variables. 3.9.2 Storage for heap variables. Summary. Further reading. Exercises. 4. Bindings and Scope. 4.1 Bindings and environments. 4.2 Scope. 4.2.1 Block structure. 4.2.2 Scope and visib...
List of contents
Preface.
PART I: INTRODUCTION.
1. Programming Languages.
1.1 Programming linguistics.
1.2 Historical development.
Summary.
Further reading.
Exercises.
PART II: BASIC CONCEPTS
2. Values and Types.
2.1 Types.
2.2 Primitive types.
2.3 Composite types.
2.4 Recursive types.
2.5 Type systems.
2.6 Expressions.
2. 6.2 Constructions.
2.7 Implementation notes.
Summary.
Further reading.
Exercises.
3. Variables and Storage.
3.1 Variables and storage.
3.2 Simple variables.
3.3 Composite variables.
3.4 Copy semantics vs reference semantics.
3.5 Lifetime.
3.6 Pointers.
3.7 Commands.
3.8 Expressions with side effects.
3.9 Implementation notes
Summary.
Further reading.
Exercises.
4. Bindings and Scope.
4.1 Bindings and environments.
4.2 Scope.
4.3 Declarations.
4.4 Blocks.
Summary.
Further reading.
Exercises.
5. Procedural Abstraction.
5.1 Function procedures and proper procedures.
5.2 Parameters and arguments.
5.3 Implementation notes
Summary.
Further reading.
Exercises.
PART III: ADVANCED CONCEPTS.
6. Data Abstraction.
6.1 Program units, packages, and encapsulation.
6.2 Abstract types.
6.3 Objects and classes.
6.4 Implementation notes.
Summary.
Further reading
Exercises.
7. Generic Abstraction.
7.1 Generic units and instantiation.
7.2 Type and class parameters.
7.3 Implementation notes
Summary.
Further reading.
Exercises
8. Type Systems.
8.1 Inclusion polymorphism.
8.2 Parametric polymorphism.
8.3 Overloading.
8.4 Type conversions.
8.5 Implementation notes
Summary.
Further reading.
Exercises.
9. Control Flow.
9.1 Sequencers.
9.2 Jumps.
9.3 Escapes.
9.4 Exceptions.
9.5 Implementation notes
Summary.
Further reading.
Exercises.
10. Concurrency (by William Findlay).
10.1 Why concurrency?.
10.2 Programs and processes.
10.3 Problems with concurrency.
10.4 Process interactions.
10.5 Concurrency primitives.
10.6 Concurrent control abstractions.
Summary.
Further reading.
Exercises.
PART IV: PARADIGMS
11. Imperative Programming.
11.1 Key concepts.
11.2 Pragmatics.
11.3 Case study: C.
11.4 Case study: ADA.
Summary.
Further reading.
Exercises.
12. Object-Oriented Programming.
12.1 Key Concepts.
12.2 Pragmatics.
12.3 Case study: C++.
12.4 Case study: JAVA.
12.5 Case study: ADA95.
Summary.
Further reading.
Exercises.
13. Concurrent Programming (by William Findlay).
13.1 Key concepts.
13.2 Pragmatics.
13.3 Case study: ADA95.
13.4 Case study: JAVA.
Summary.
Further reading.
Exercises.
14. Functional Programming.
14.1 Key concep
Product details
| Authors | Watt, Da Watt, David A Watt, David A. Watt, David A. (University of Glasgow) Watt, Watt David A. |
| Publisher | Wiley, John and Sons Ltd |
| Languages | English |
| Product format | Paperback / Softback |
| Released | 26.03.2004 |
| EAN | 9780470853207 |
| ISBN | 978-0-470-85320-7 |
| No. of pages | 504 |
| Subjects |
Natural sciences, medicine, IT, technology
> IT, data processing
> Programming languages
Programm, Programmierung (EDV), Informatik, Programmiersprache, Programming & Software Development |
Customer reviews
No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.
Write a review
Thumbs up or thumbs down? Write your own review.