Foundations of programming languages / Kent D. Lee.
Material type: TextSeries: Undergraduate topics in computer sciencePublisher: Cham, Switzerland : Springer, [2017] 2017Edition: 2nd editionDescription: 1 online resource (xiv, 370 pages) : illustrations (colour)ISBN: 9783319707907 (ePub ebook) :Subject(s): Programming languages (Electronic computers) | Computers and IT | Computing & information technology | Maths for engineers | Algorithms & data structures | Object-oriented programming (OOP) | Programming & scripting languages: generalDDC classification: 005.13 Online access: Open e-book Summary: This clearly written and simple to follow textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly prescriptive languages to very descriptive languages, demonstrating the many and varied ways in which we can think about programming.Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem.Topics and features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; discusses the historical background to the models of computation used in implementing the programming languages we use today; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming through a series of examples, using a Python Virtual Machine implementation called CoCo; introduces object-oriented languages through examples in C++, functional programming with Standard ML, and programming using the logic language Prolog; describes the development and implementation of a type inference system for the full-featured functional language Small.Suitable for students of computer science at the undergraduate level, this engaging textbook takes an active learning approach to the next stage in understanding programming languages, once the reader has established some familiarity with an imperative language and the basics of data structures.Item type | Current library | Home library | Class number | Status | Date due | Barcode | Item reservations | |
---|---|---|---|---|---|---|---|---|
E-book | Electronic publication | Electronic publication | Available |
This edition also issued in print: 2017.
Previous edition: 2014.
Includes bibliographical references.
This clearly written and simple to follow textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly prescriptive languages to very descriptive languages, demonstrating the many and varied ways in which we can think about programming.Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem.Topics and features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; discusses the historical background to the models of computation used in implementing the programming languages we use today; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming through a series of examples, using a Python Virtual Machine implementation called CoCo; introduces object-oriented languages through examples in C++, functional programming with Standard ML, and programming using the logic language Prolog; describes the development and implementation of a type inference system for the full-featured functional language Small.Suitable for students of computer science at the undergraduate level, this engaging textbook takes an active learning approach to the next stage in understanding programming languages, once the reader has established some familiarity with an imperative language and the basics of data structures.
Description based on print version record.
There are no comments on this title.