Kirjojen hintavertailu. Mukana 12 595 353 kirjaa ja 12 kauppaa.

Kirjailija

Cliff B. Jones

Kirjat ja teokset yhdessä paikassa: 4 kirjaa, julkaisuja vuosilta 1996-2021, suosituimpien joukossa Understanding Programming Languages. Vertaile teosten hintoja ja tarkista saatavuus suomalaisista kirjakaupoista.

4 kirjaa

Kirjojen julkaisuhaarukka 1996-2021.

Understanding Programming Languages

Understanding Programming Languages

Cliff B. Jones

Springer Nature Switzerland AG
2021
nidottu
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

Understanding Programming Languages

Cliff B. Jones

Springer Nature Switzerland AG
2020
sidottu
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.
Object Orientation with Parallelism and Persistence

Object Orientation with Parallelism and Persistence

Burkhard Freitag; Cliff B. Jones; Christian Lengauer; Hans-Jörg Schek

Springer-Verlag New York Inc.
2011
nidottu
Both object orientation and parallelism are modern programming paradigms which have gained much popularity in the last 10-15 years. Object orientation raises hopes for increased productivity of software generation and maintenance methods. Parallelism can serve to structure a problem but also promises faster program execution. The two areas of computing science in which these paradigms play the most prominent role are programming languages and databases. In programming languages, one can take an academic approach with a primary focus on the generality of the semantics of the language constructs which support the respective paradigm. In databases, one is willing to restrict the power of the constructs in the interest of increased efficiency. Inter- and intra-object parallelism have received an increasing amount of attention in the last few years by researchers in the area of object- oriented programming. At first glance, an object is very similar to a process which offers services to other processes and demands services from them. It has, however, transpired that object-oriented concepts cause problems when combined with parallelism. In programming languages, the introduction of parallelism and the synchronization constraints it brings with it can get in the way of code reusability. In databases, the combination of object orientation and parallelism requires, for example, a generalization of the transaction model, new approaches to the specification of information systems, an implementation model of object communication, and the design of an overall system architecture. There has been insufficient communication between researchers in programming languages and in databases on these issues. Object Orientation with Parallelism and Persistence grew out of a Dagstuhl Seminar of the same title in April 1995 whose goal it was to put the new research area `object orientation with parallelism' on an interdisciplinary basis. Object Orientation with Parallelism and Persistence will be of interest to researchers and professionals working in software engineering, programming languages, and database systems.
Object Orientation with Parallelism and Persistence

Object Orientation with Parallelism and Persistence

Burkhard Freitag; Cliff B. Jones; Christian Lengauer; Hans-Jörg Schek

Springer
1996
sidottu
Both object orientation and parallelism are modern programming paradigms which have gained much popularity in the last 10-15 years. Object orientation raises hopes for increased productivity of software generation and maintenance methods. Parallelism can serve to structure a problem but also promises faster program execution. The two areas of computing science in which these paradigms play the most prominent role are programming languages and databases. In programming languages, one can take an academic approach with a primary focus on the generality of the semantics of the language constructs which support the respective paradigm. In databases, one is willing to restrict the power of the constructs in the interest of increased efficiency. Inter- and intra-object parallelism have received an increasing amount of attention in the last few years by researchers in the area of object- oriented programming. At first glance, an object is very similar to a process which offers services to other processes and demands services from them. It has, however, transpired that object-oriented concepts cause problems when combined with parallelism. In programming languages, the introduction of parallelism and the synchronization constraints it brings with it can get in the way of code reusability. In databases, the combination of object orientation and parallelism requires, for example, a generalization of the transaction model, new approaches to the specification of information systems, an implementation model of object communication, and the design of an overall system architecture. There has been insufficient communication between researchers in programming languages and in databases on these issues. Object Orientation with Parallelism and Persistence grew out of a Dagstuhl Seminar of the same title in April 1995 whose goal it was to put the new research area `object orientation with parallelism' on an interdisciplinary basis. Object Orientation with Parallelism and Persistence will be of interest to researchers and professionals working in software engineering, programming languages, and database systems.