000 nam a22 4500
999 _c33100
_d33100
008 240319b xxu||||| |||| 00| 0 eng d
020 _a9783031341434
082 _a005.13
_bGAB
100 _aGabbrielli, Maurizio
245 _aProgramming languages : principles and paradigms
250 _a2nd ed.
260 _bSpringer,
_c2023
_aCham :
300 _axxii, 561 p. ;
_bill.,
_c23 cm.
365 _b54.99
_c
_d93.50
490 _aUndergraduate topics in computer science.
504 _aIncludes bibliographical references and index.
520 _aThe second edition of this core textbook is a thorough, up-to-date introduction to the principles and techniques that guide the design and implementation of modern programming languages. The goal of the book is to provide the basis for a critical understanding of most modern programming languages. Thus, rather than focusing on a specific language, the book identifies the most important principles shared by large classes of languages. The notion of abstract machine is a unifying concept that helps to maintain an accurate and elementary treatment. The book introduces, analyses in depth, and compares the imperative, object-oriented, functional, logic, concurrent, constraint-based, and service-oriented programming paradigms. All material coming from the first English edition has been updated and extended, clarifying some tricky points, and discussing newer programming languages. This second edition contains new chapters dedicated to constraint, concurrent, and service-oriented programming. Topics and features: Requires familiarity with one programming language is a prerequisite Provides a chapter on history offering context for most of the constructs in use today Presents an elementary account of semantical approaches and of computability Introduces new examples in modern programming languages like Python or Scala Offers a chapter that opens a perspective on applications in artificial intelligence Conceived as a university textbook, this unique volume will also be suitable for IT specialists who want to deepen their knowledge of the mechanisms behind the languages they use. The choice of themes and the presentation style are largely influenced by the experience of teaching the content as part of a bachelor's degree in computer science. The authors are all affiliated with the Dept. of Computer Science and Engineering of the University of Bologna. Maurizio Gabbrielli and Simone Martini are professors of computer science, Saverio Giallorenzo is junior assistant professor of computer science.
650 _aProgramming languages
650 _aElectronic computers
650 _aMemory management
700 _aMartini, Simone
942 _2ddc
_cBK