Understanding Programming Languages

Understanding Programming Languages
Author :
Publisher : Springer Nature
Total Pages : 229
Release :
ISBN-10 : 9783030592578
ISBN-13 : 303059257X
Rating : 4/5 (78 Downloads)

Book Synopsis Understanding Programming Languages by : Cliff B. Jones

Download or read book Understanding Programming Languages written by Cliff B. Jones and published by Springer Nature. This book was released on 2020-11-17 with total page 229 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


Understanding Programming Languages Related Books

Understanding Programming Languages
Language: en
Pages: 229
Authors: Cliff B. Jones
Categories: Computers
Type: BOOK - Published: 2020-11-17 - Publisher: Springer Nature

DOWNLOAD EBOOK

This book is about describing the meaning of programming languages. The author teaches the skill of writing semantic descriptions as an efficient way to underst
Understanding Programming Languages
Language: en
Pages: 384
Authors: M. Ben-Ari
Categories: Computers
Type: BOOK - Published: 1996-03-26 - Publisher:

DOWNLOAD EBOOK

This book compares constructs from C with constructs from Ada in terms of levels of abstractions. Studying these languages provides a firm foundation for an ext
Essentials of Programming Languages, third edition
Language: en
Pages: 433
Authors: Daniel P. Friedman
Categories: Computers
Type: BOOK - Published: 2008-04-18 - Publisher: MIT Press

DOWNLOAD EBOOK

A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, wi
But how Do it Know?
Language: en
Pages: 223
Authors: J. Clark Scott
Categories: Computers
Type: BOOK - Published: 2009 - Publisher: John C Scott

DOWNLOAD EBOOK

This book thoroughly explains how computers work. It starts by fully examining a NAND gate, then goes on to build every piece and part of a small, fully operati
Invent Your Own Computer Games with Python, 4th Edition
Language: en
Pages: 377
Authors: Al Sweigart
Categories: Computers
Type: BOOK - Published: 2016-12-16 - Publisher: No Starch Press

DOWNLOAD EBOOK

Invent Your Own Computer Games with Python will teach you how to make computer games using the popular Python programming language—even if you’ve never prog