Автор: Bertrand Meyer
Издательство: Springer
Год: 2024
Страниц: 451
Язык: английский
Формат: pdf (true)
Размер: 11.9 MB
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, reflecting the diversity of interests in the French community and each of them corresponding to an area in which it has made major contributions over several decades:
• Software engineering (Part I)
• Programming language mechanism and type systems (Part II)
• Theory (Part III)
• Language design and programming methodology (Part IV)
Object-oriented programming, software components and multi-agent systems are some examples of approaches for software design and development with significant impact. Both offer abstractions for organizing software as a combination of software elements, with a common objective of facilitating its evolution (first of all, replacement and addition of elements). In this chapter, our initial objective is to conduct a comparative analysis between software components and multi-agent systems (in the following, we will use terms, respectively, components and agents). Some decisive advance is the discipline of late binding such as in Smalltalk, i.e. the procedure to be invoked will be determined according to the class of the actual object invoked, and not according to the declaration of the type of the variable that references it. This means that the binding of the procedure, and therefore the selection of the action, is delayed at runtime and not statically resolved at compile time, such as in C++ early binding discipline. (Actually, C++ introduced virtual functions to partially alleviate this limitation, but this partial solution cannot benefit from further redefinitions of methods once the library has been compiled, therefore in opposition to Bertrand Meyer’s open-closed principle.
Скачать The French School of Programming