Skip to main content

The French School of Programming

  • Book
  • © 2024

Overview

  • Presents a survey of software engineering research by some of the most prestigious names in French computer science
  • Details on topics such as programming language design, object-orientation, rewriting systems, or software verification
  • Shares the visions of brilliant and highly reputed innovators in SWE, incl the originators of OCaml, Coq, or Eiffel

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 149.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (13 chapters)

  1. Programming Language Mechanisms and Type Systems

  2. Theory

  3. Language Design and Programming Methodology

Keywords

About this book

The French School of Programming is a collection of insightful discussions of programming and software engineering topics, by some of the most prestigious names of French computer science. The authors include several of the originators of such widely acclaimed inventions as abstract interpretation, the Caml, OCaml and Eiffel programming languages, the Coq proof assistant, agents and modern testing techniques.

The book is divided into four parts: Software Engineering (A), Programming Language Mechanisms and Type Systems (B), Theory (C), and Language Design and Programming Methodology (D). They are preceded by a Foreword by Bertrand Meyer, the editor of the volume, a Preface by Jim Woodcock providing an outsider’s appraisal of the French school’s contribution, and an overview chapter by Gérard Berry, recalling his own intellectual journey. Chapter 2, by Marie-Claude Gaudel, presents a 30-year perspective on the evolution of testing starting with her own seminal work. In chapter 3, Michel Raynal covers distributed computing with an emphasis on simplicity. Chapter 4, by Jean-Marc Jézéquel, former director of IRISA, presents the evolution of modeling, from CASE tools to SLE and Machine Learning. Chapter 5, by Joëlle Coutaz, is a comprehensive review of the evolution of Human-Computer Interaction. In part B, chapter 6, by Jean-Pierre Briot, describes the sequence of abstractions that led to the concept of agent. Chapter 7, by Pierre-Louis Curien, is a personal account of a journey through fundamental concepts of semantics, syntax and types. In chapter 8, Thierry Coquand presents “some remarks on dependent type theory”. Part C begins with Patrick Cousot’s personal historical perspective on his well-known creation, abstract interpretation, in chapter 9. Chapter 10, by Jean-Jacques Lévy, is devoted to tracking redexes in the Lambda Calculus. The final chapter of that part, chapter 11 by Jean-Pierre Jouannaud, presents advances in rewriting systems, specifically the confluence of terminating rewriting computations. Part D contains two longer contributions. Chapter 12 is a review by Giuseppe Castagna of a broad range of programming topics relying on union, intersection and negation types. In the final chapter, Bertrand Meyer covers “ten choices in language design” for object-oriented programming, distinguishing between “right” and “wrong” resolutions of these issues and explaining the rationale behind Eiffel’s decisions.

This book will be of special interest to anyone with an interest in modern views of programming — on such topics as programming language design, the relationship between programming and type theory, object-oriented principles, distributed systems, testing techniques, rewriting systems, human-computer interaction, software verification… — and in the insights of a brilliant group of innovators in the field.

Editors and Affiliations

  • Constructor Institute, Schaffhausen, Switzerland

    Bertrand Meyer

About the editor

Bertrand Meyer is Professor of Software Engineering at Constructor Institute, Schaffhausen (Switzerland), Professor Emeritus, ETH Zurich, and CTO of Eiffel Software. He is the author of several seminal books including "Agile!", "Touch of Class" (both with Springer) and "Object-Oriented Software Construction".

Bibliographic Information

Publish with us