Programming Language Design Concepts
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 the OO paradigm 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 Conceptsdeepens study by examining the motivation of programming languages rather than just their features.,P.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, the book includes numerous examples, case studies of several major programming languages, and end-of-chapter exercises. Sample solutions to exercises are available on the companion website.Companion website: www.dcs.gla.ac.uk/~daw/books/PLDC/