An Experiential Introduction to Principles of Programming Languages
por The MIT Press
Agotado
Precio original
$60.00
-
Precio original
$60.00
Precio original
$60.00
$60.00
-
$60.00
Precio actual
$60.00
Description
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. 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 271Hridesh 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.
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.
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 271Hridesh 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.
PUBLISHER:
MIT Press
ISBN-10:
0262045451
ISBN-13:
9780262045452
BINDING:
Hardback
BISAC:
COMPUTERS
PUBLICATION YEAR:
2022
NUMBER OF PAGES:
304
BOOK DIMENSIONS:
7.2500(W) x 10.2500(H) x 0.7900(D)
AUDIENCE TYPE:
General/Adult
LANGUAGE:
English