Читать книгу Concepts and Semantics of Programming Languages 2 - Therese Hardin - Страница 5

Оглавление

Foreword

Computer programs have played an increasingly central role in our lives since the 1940s, and the quality of these programs has thus become a crucial question. Writing a high-quality program – a program that performs the required task and is efficient, robust, easy to modify, easy to extend, etc. – is an intellectually challenging task, requiring the use of rigorous development methods. First and foremost, however, the creation of such a program is dependent on an in-depth knowledge of the programming language used, its syntax and, crucially, its semantics, i.e. what happens when a program is executed.

The description of this semantics puts the most fundamental concepts into light, including those of value, reference, exception or object. These concepts are the foundations of programming language theory. Mastering these concepts is what sets experienced programmers apart from beginners. Certain concepts – like that of value – are common to all programming languages; others – such as the notion of functions – operate differently in different languages; finally, other concepts – such as that of objects – only exist in certain languages. Computer scientists often refer to “programming paradigms” to consider sets of concepts shared by a family of languages, which imply a certain programming style: imperative, functional, object-oriented, logical, concurrent, etc. Nevertheless, an understanding of the concepts themselves is essential, as several paradigms may be interwoven within the same language.

Introductory texts on programming in any given language are not difficult to find, and a number of published books address the fundamental concepts of language semantics. Much rarer are those, like the present volume, which establish and examine the links between concepts and their implementation in languages used by programmers on a daily basis, such as C, C++, Ada, Java, OCaml and Python. The authors provide a wealth of examples in these languages, illustrating and giving life to the notions that they present. They propose general models, such as the kit presented in Volume 2, permitting a unified view of different notions; this makes it easier for readers to understand the constructs used in popular programming languages and facilitates comparison. This thorough and detailed work provides readers with an understanding of these notions and, above all, an understanding of the ways of using the latter to create high-quality programs, building a safer and more reliable future in computing.

Gilles DOWEK

Research Director, Inria

Professor at the École normale supérieure, Paris-Saclay

Catherine DUBOIS

Professor at the École nationale supérieure d’informatique pour l’industrie et l’entreprise

January 2021

Concepts and Semantics of Programming Languages 2

Подняться наверх