Programming Language Design Concepts
- 8h 47m
- David A. Watt, William Findlay
- John Wiley & Sons (UK)
- 2004
Programming languages exist to communicate with computers and also with people. A good language, like a good mathematical notation, helps us to formulate and communicate ideas more quickly. Yet there are many programming languages and many features to understand in each.
Reflecting current trends where object-oriented (OO) programming has taken over from imperative programming as the dominant paradigm, this book gives greatest prominence to OO programming using Java and C++ as the main exemplar languages. Similarly, since the Web has revolutionized the computing industry, the need for examination of scripting languages, such as Perl and Python, has risen. With additional case study languages including Python, Haskell, Prolog and Ada, Programming Language Design Concepts deepens study by examining the motivation of programming languages rather than just their features.
All programmers, not just language specialists, need a thorough understanding of language concepts in order to get the best of these most fundamental tools. This book explains the basic concepts that underpin all programming languages, and shows how these concepts are synthesized in the major paradigms: imperative, object-oriented, concurrent, functional, logic and scripting.
Written in a clear, approachable style, ideal for classroom and self-study, this book includes numerous examples, case studies of several major programming languages, and end-of-chapter exercises.
In this Book
-
Programming Languages
-
Values and Types
-
Variables and Storage
-
Bindings and Scope
-
Procedural Abstraction
-
Data Abstraction
-
Generic Abstraction
-
Type Systems
-
Control Flow
-
Concurrency
-
Imperative Programming
-
Object-Oriented Programming
-
Concurrent Programming
-
Functional Programming
-
Logic Programming
-
Scripting
-
Language Selection
-
Language Design