Understanding Programming Languages
Understanding Programming Languages
Paperback
Couldn't load pickup availability
Join our rewards scheme and earn 75 reward points on this purchase!
Earn 75 points on this!
Sign in or Sign up!- Release Date: 18/11/2021
- Barcode: 9783030592592
- Genre: Computing & Internet
- Imprint: Springer Nature
- Publisher: Springer

Understanding Programming Languages
2020 ed.
Couldn't load pickup availability
Collapsible content
DESCRIPTION
The book concludes with a discussion of the eight key challenges: delimiting a language (concrete representation), delimiting the abstract content of a language, recording semantics (deterministic languages), operational semantics (non-determinism), context dependency, modelling sharing, modelling concurrency, and modelling exits.
This book is about describing the meaning of programming languages. The author teaches the skill of writing semantic descriptions as an efficient way to understand the features of a language. While a compiler or an interpreter offers a form of formal description of a language, it is not something that can be used as a basis for reasoning about that language nor can it serve as a definition of a programming language itself since this must allow a range of implementations. By writing a formal semantics of a language a designer can yield a far shorter description and tease out, analyse and record design choices.
Early in the book the author introduces a simple notation, a meta-language, used to record descriptions of the semantics of languages. In a practical approach, he considers dozens of issues that arise in current programming languages and the key techniques that must be mastered in order to write the required formal semantic descriptions. The book concludes with a discussion of the eight key challenges: delimiting a language (concrete representation), delimiting the abstract content of a language, recording semantics (deterministic languages), operational semantics (non-determinism), context dependency, modelling sharing, modelling concurrency, and modelling exits.
The content is class-tested and suitable for final-year undergraduate and postgraduate courses. It is also suitable for any designer who wants to understand languages at a deep level. Most chapters offer projects, some of these quite advanced exercises that ask for complete descriptions of languages, and the book is supported throughout with pointers to further reading and resources. As a prerequisite the reader should know at least one imperative high-level language and have some knowledge of discrete mathematics notation for logic and set theory.
DELIVERY & RETURNS
UK Delivery:
- Free delivery on all orders of £10 or more.
- £1.49 delivery fee on orders below £10.
- UK orders are shipped via Royal Mail 2nd Class.
International Delivery:
- Flat rate delivery charges vary by country.
Dispatch and Delivery Times:
- All orders are shipped from our warehouse in Northampton, UK within 48 hours of receipt during working hours.
- UK mainland orders typically arrive within 3-5 working days via Royal Mail 2nd Class.
- International estimated delivery times:
- Europe & Channel Islands: 7 to 10 working days
- USA: 7 to 15 working days
- Rest of the World: 9 to 21 working days
View our full delivery infomation here.
-
OVER
2 MILLION PRODUCTS
-
60 MILLION CUSTOMERS
ACROSS 190 COUNTRIES
You might also like
Loading recommendations...