Authors:
Focuses on the three paradigms of programming: imperative, functional, and logic programming
Demonstrates not only how programming language concepts are used in language, but also how these concepts are implemented
Covers assembly language programming, C++, Standard ML, and Prolog
Updated and revised new edition, featuring new material on a Java implementation of the CoCo virtual machine
Includes supplementary material: sn.pub/extras
Part of the book series: Undergraduate Topics in Computer Science (UTICS)
Buy it now
Buying options
Tax calculation will be finalised at checkout
Other ways to access
This is a preview of subscription content, access via your institution.
Table of contents (10 chapters)
-
Front Matter
-
Back Matter
About this book
This clearly written textbook provides an accessible introduction to the three programming paradigms of object-oriented/imperative, functional, and logic programming. Highly interactive in style, the text encourages learning through practice, offering test exercises for each topic covered. Review questions and programming projects are also presented, to help reinforce the concepts outside of the classroom. This updated and revised new edition features new material on the Java implementation of the JCoCo virtual machine.
Topics and features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; presents an historical perspective on the models of computation used in implementing the programming languages used today; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; illustrates how programs execute at the level of assembly language, through the implementation of a stack-based Python virtual machine called JCoCo and a Python disassembler; introduces object-oriented languages through examples in Java, functional programming with Standard ML, and programming using the logic language Prolog; describes a case study involving the development of a compiler for the high level functional language Small, a robust subset of Standard ML.Undergraduate students of computer science will find this engaging textbook to be an invaluable guide to the skills and tools needed to become a better programmer. While the text assumes some background in an imperative language, and prior coverage of the basics of data structures, the hands-on approach and easy to follow writing style will enable the reader to quickly grasp the essentials of programming languages, frameworks, and architectures.Keywords
- Assembly Language Programming
- C++
- Imperative, Functional, and Logic Programming
- Prolog
- Standard ML
Authors and Affiliations
-
Luther College, Decorah, USA
Kent D. Lee
About the author
Bibliographic Information
Book Title: Foundations of Programming Languages
Authors: Kent D. Lee
Series Title: Undergraduate Topics in Computer Science
DOI: https://doi.org/10.1007/978-3-319-70790-7
Publisher: Springer Cham
eBook Packages: Computer Science, Computer Science (R0)
Copyright Information: Springer International Publishing AG 2017
Softcover ISBN: 978-3-319-70789-1Published: 20 December 2017
eBook ISBN: 978-3-319-70790-7Published: 10 December 2017
Series ISSN: 1863-7310
Series E-ISSN: 2197-1781
Edition Number: 2
Number of Pages: XIV, 370
Number of Illustrations: 150 b/w illustrations, 39 illustrations in colour
Topics: Programming Languages, Compilers, Interpreters, Control Structures and Microprogramming, Mathematical and Computational Engineering