000 04279nam a22005175i 4500
001 978-3-031-34144-1
003 DE-He213
005 20240423130148.0
007 cr nn 008mamaa
008 231014s2023 sz | s |||| 0|eng d
020 _a9783031341441
_9978-3-031-34144-1
024 7 _a10.1007/978-3-031-34144-1
_2doi
050 4 _aQA76.76.C65
072 7 _aUMC
_2bicssc
072 7 _aCOM010000
_2bisacsh
072 7 _aUMC
_2thema
082 0 4 _a005.45
_223
100 1 _aGabbrielli, Maurizio.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
245 1 0 _aProgramming Languages: Principles and Paradigms
_h[electronic resource] /
_cby Maurizio Gabbrielli, Simone Martini.
250 _a2nd ed. 2023.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2023.
300 _aXXII, 562 p. 132 illus.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
490 1 _aUndergraduate Topics in Computer Science,
_x2197-1781
505 0 _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.
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 0 _aCompilers (Computer programs).
650 0 _aComputer science.
650 1 4 _aCompilers and Interpreters.
650 2 4 _aTheory of Computation.
700 1 _aMartini, Simone.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
710 2 _aSpringerLink (Online service)
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783031341434
776 0 8 _iPrinted edition:
_z9783031341458
830 0 _aUndergraduate Topics in Computer Science,
_x2197-1781
856 4 0 _uhttps://doi.org/10.1007/978-3-031-34144-1
912 _aZDB-2-SCS
912 _aZDB-2-SXCS
942 _cSPRINGER
999 _c185732
_d185732