An Experiential Introduction to Principles of Programming Languages

An Experiential Introduction to Principles of Programming Languages

by Hridesh Rajan
An Experiential Introduction to Principles of Programming Languages

An Experiential Introduction to Principles of Programming Languages

by Hridesh Rajan

eBook

$36.99 

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

A textbook that uses a hands-on approach to teach principles of programming languages, with Java as the implementation language.

This introductory textbook uses a hands-on approach to teach the principles of programming languages. Using Java as the implementation language, Rajan covers a range of emerging topics, including concurrency, Big Data, and event-driven programming. Students will learn to design, implement, analyze, and understand both domain-specific and general-purpose programming languages.
 
  • Develops basic concepts in languages, including means of computation, means of combination, and means of abstraction.
  • Examines imperative features such as references, concurrency features such as fork, and reactive features such as event handling.
  • Covers language features that express differing perspectives of thinking about computation, including those of logic programming and flow-based programming.
  • Presumes Java programming experience and understanding of object-oriented classes, inheritance, polymorphism, and static classes.
  • Each chapter corresponds with a working implementation of a small programming language allowing students to follow along.

  • Product Details

    ISBN-13: 9780262362436
    Publisher: MIT Press
    Publication date: 05/03/2022
    Sold by: Penguin Random House Publisher Services
    Format: eBook
    Pages: 304
    Sales rank: 902,435
    File size: 15 MB
    Note: This product may take a few minutes to download.

    About the Author

    Hridesh Rajan is Kingland Professor and Chair in the Department of Computer Science at Iowa State University. He has held visiting positions at the University of Bristol, Harvard University, and the University of Texas. He is a Fellow of the AAAS and a distinguished member of the ACM.
     

    Table of Contents

    List of Figures xiii
    List of Tables xvii
    Preface xix
    Road Map xxii
    I Preliminaries 1
    1 Introduction 3
    2 Inductive Sets and Functions 15
    II Building a Programming Language 33
    3 Getting Started 35
    4 Varlang: A Language with Variables 71
    5 Definelang: A Language with Global Variables 95
    6 Funclang: A Language with Functions 105
    III References and Concurrency 145
    7 Reflang: A Language with References 147
    8 Forklang: A Language with Concurrency and Parallelism 169
    IV Types and Specifications 185
    9 Typelang: A Language with Types 187
    10 Speclang: A Language with Specifications 209
    V Advances Features 229
    11 Msglang: A Language with Message-Passing Concurrency 231
    12 Eventlang: A Language with Events 251
    Appendix ANTLR: A Brief Review 265
    Bibliography 269
    Index 271
    From the B&N Reads Blog

    Customer Reviews