LEADER 04297nam 22005535 450 001 996558569103316 005 20231014085056.0 010 $a3-031-34144-9 024 7 $a10.1007/978-3-031-34144-1 035 $a(MiAaPQ)EBC30787853 035 $a(Au-PeEL)EBL30787853 035 $a(DE-He213)978-3-031-34144-1 035 $a(PPN)272914711 035 $a(EXLCZ)9928505210600041 100 $a20231014d2023 u| 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aProgramming Languages: Principles and Paradigms$b[electronic resource] /$fby Maurizio Gabbrielli, Simone Martini 205 $a2nd ed. 2023. 210 1$aCham :$cSpringer International Publishing :$cImprint: Springer,$d2023. 215 $a1 online resource (574 pages) 225 1 $aUndergraduate Topics in Computer Science,$x2197-1781 311 08$aPrint version: Gabbrielli, Maurizio Programming Languages: Principles and Paradigms Cham : Springer International Publishing AG,c2023 9783031341434 320 $aIncludes bibliographical references and index. 327 $a1. Abstract Machines -- 2. How to Describe a Programming Language -- 3. Foundations -- 4. Names and the Environment -- 5. Memory Management -- 6. Control Structure -- 7. Control Abstraction -- Structuring Data -- 8. Data Abstraction -- 9. The Object-Oriented Paradigm -- 10. The Functional Paradigm -- 11. The Logic Programming Paradigm -- 12. A Short Historical Perspective. 330 $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. . 410 0$aUndergraduate Topics in Computer Science,$x2197-1781 606 $aCompilers (Computer programs) 606 $aComputer science 606 $aCompilers and Interpreters 606 $aTheory of Computation 615 0$aCompilers (Computer programs). 615 0$aComputer science. 615 14$aCompilers and Interpreters. 615 24$aTheory of Computation. 676 $a005.13 700 $aGabbrielli$b Maurizio$0297897 702 $aMartini$b Simone$f1283-1344, 702 $aGiallorenzo$b Saverio 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a996558569103316 996 $aProgramming Languages$93582801 997 $aUNISA