Description
Foundations of Programming Languages (2nd Ed., 2nd ed. 2017)
Undergraduate Topics in Computer Science Series
Author: Lee Kent D.
Language: EnglishSubject for Foundations of Programming Languages:
Support: Print on demand
Description
/li>Contents
/li>Biography
/li>Comment
/li>
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.Introduction
Syntax
Assembly Language
Object-Oriented Programming
Functional Programming
Compiling Standard ML
Logic Programming
Standard ML Type Inference
Appendix A: The JCoCo Virtual Machine Specification
Appendix B: The Standard ML Basis Library
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