Bücher Wenner
Michael Grüttner im Gespräch über "TALAR UND HAKENKREUZ"
09.10.2024 um 19:30 Uhr
Understanding Programming Languages
von Cliff B. Jones
Verlag: Springer International Publishing
Gebundene Ausgabe
ISBN: 978-3-030-59256-1
Auflage: 1st ed. 2020
Erschienen am 18.11.2020
Sprache: Englisch
Format: 241 mm [H] x 160 mm [B] x 19 mm [T]
Gewicht: 535 Gramm
Umfang: 244 Seiten

Preis: 74,89 €
keine Versandkosten (Inland)


Dieser Titel wird erst bei Bestellung gedruckt. Eintreffen bei uns daher ca. am 21. Oktober.

Der Versand innerhalb der Stadt erfolgt in Regel am gleichen Tag.
Der Versand nach außerhalb dauert mit Post/DHL meistens 1-2 Tage.

klimaneutral
Der Verlag produziert nach eigener Angabe noch nicht klimaneutral bzw. kompensiert die CO2-Emissionen aus der Produktion nicht. Daher übernehmen wir diese Kompensation durch finanzielle Förderung entsprechender Projekte. Mehr Details finden Sie in unserer Klimabilanz.
Klappentext
Biografische Anmerkung
Inhaltsverzeichnis

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.



Prof. Cliff B. Jones is Professor of Computing Science at Newcastle University. He is best known for his research into "formal methods" for the design and verification of computer systems; under this heading, current topics of research include concurrency, support systems and logics. He is also currently applying research on formal methods to wider issues of dependability. As well as his academic career, Cliff spent over twenty years in industry; his 15 years in IBM saw among other things the creation in the Vienna Lab of VDM, one of the better-known "formal methods". He received his Ph.D. in Oxford under the supervision of Tony Hoare. He then moved directly to a chair at Manchester University where he built a world-class Formal Methods group. He is a Fellow of the Royal Academy of Engineering (FREng) and a Fellow of the ACM. He has been a member of IFIP Working Group 2.3 (Programming Methodology) since 1973, and was its chair from 1987 to 1996).   



Programming Languages.- Delimiting a Language.- Operational Semantics.- Typing.- Block Structure.- Additional Issues in Sequential Languages.- Alternative Semantic Approaches.- Shared Variable Concurrency.- Concurrent OOLs.- Exceptional Ordering.- Conclusions.- App. A, Simple Language.- App. B, Typed Language.- App. C, Blocks Language.- App. D, COOL.- App. E, VDM Notation.


andere Formate