Skip to main content
Book cover

Foundations of Programming Languages

  • Textbook
  • © 2014

Overview

  • 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
  • Includes supplementary material: sn.pub/extras

Part of the book series: Undergraduate Topics in Computer Science (UTICS)

Buy print copy

Table of contents (10 chapters)

Keywords

About this book

This clearly written 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. Features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming using CoCo; introduces C++, Standard ML, and Prolog; describes the development of a type inference system for thelanguage Small.

Reviews

“Undergraduates studying programming languages will find this book to be a skillful and informative introduction to the subject.” (Marlin Thomas, Computing Reviews, July, 2015)

Authors and Affiliations

  • Luther College, Decorah, USA

    Kent D. Lee

About the author

Dr. Kent D. Lee is Professor of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer textbook Python Programming Fundamentals and the forthcoming Data Structures and Algorithms with Python.

Bibliographic Information

Publish with us