000 05931nam a22005895i 4500
001 978-3-031-34518-0
003 DE-He213
005 20240730172003.0
007 cr nn 008mamaa
008 240429s2024 sz | s |||| 0|eng d
020 _a9783031345180
_9978-3-031-34518-0
024 7 _a10.1007/978-3-031-34518-0
_2doi
050 4 _aQA76.758
072 7 _aUMZ
_2bicssc
072 7 _aCOM051230
_2bisacsh
072 7 _aUMZ
_2thema
082 0 4 _a005.1
_223
245 1 4 _aThe French School of Programming
_h[electronic resource] /
_cedited by Bertrand Meyer.
250 _a1st ed. 2024.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2024.
300 _aXXIV, 439 p. 66 illus., 25 illus. in color.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
505 0 _aThe French School of Programming: A Personal View -- Part I: Software Engineering -- "Testing can be formal too": 30 years later -- A Short Visit to Distributed Computing Where Simplicity is Considered a First Class Property -- Modeling: From CASE Tools to SLE and Machine Learning -- At the Confluence of Software Engineering and Human-Computer Interaction: a Personal Account -- Part II: Programming language mechanisms and type systems -- From Procedures, Objects, Actors, Components, Services, to Agents -- Semantics and syntax, between computer science and mathematics -- Some remarks about Dependent Type Theory -- Part III: Theory -- A Personal Historical Perspective on Abstract Interpretation -- Tracking Redexes in the Lambda Calculus -- Confluence of terminating rewriting computations -- Part IV: Language design and programming methodology -- Programming with union, intersection, and negation types -- Right and wrong: ten choices in language design.
520 _aThe 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.
650 0 _aSoftware engineering.
_94138
650 0 _aComputer science.
_99832
650 0 _aProgramming languages (Electronic computers).
_97503
650 0 _aComputer programming.
_94169
650 0 _aMachine theory.
_9101229
650 0 _aComputer programs
_xTesting.
_980793
650 1 4 _aSoftware Engineering.
_94138
650 2 4 _aTheory of Computation.
_9101230
650 2 4 _aProgramming Language.
_939403
650 2 4 _aProgramming Techniques.
_9101232
650 2 4 _aFormal Languages and Automata Theory.
_9101234
650 2 4 _aSoftware Testing.
_980795
700 1 _aMeyer, Bertrand.
_eeditor.
_4edt
_4http://id.loc.gov/vocabulary/relators/edt
_9101236
710 2 _aSpringerLink (Online service)
_9101240
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783031345173
776 0 8 _iPrinted edition:
_z9783031345197
776 0 8 _iPrinted edition:
_z9783031345203
856 4 0 _uhttps://doi.org/10.1007/978-3-031-34518-0
912 _aZDB-2-SCS
912 _aZDB-2-SXCS
942 _cEBK
999 _c87936
_d87936