Normal view MARC view ISBD view

An experiential introduction to principles of programming languages : for Java programmers

By: Rajan, Hridesh.
Publisher: Cambridge : The MIT Press, 2022Description: xxv, 274 p. ; ill., 27 cm.ISBN: 9780262045452.Subject(s): Computer programming | Programming languages | Abstract syntax tree | Event-driven programming | First-class function | General-purpose programming language | Higher-order functions | Inductive set | Lambda abstraction | Memory location | Parse treeDDC classification: 005.133 Summary: A textbook that uses a hands-on approach to teach principles of programming languages, with Java as the implementation language. This introductory textbook teaches the principles of programming languages by using an experiential learning style, in which students learn about language features by realizing those features in a pedagogical compiler. Students use Java—the most commonly used programming language in the first two years of the computer science curriculum—as the implementation language throughout. The book also discusses a range of emerging topics in programming languages missing from existing textbooks, including concurrency, Big Data, and event-driven programming. The goal is to prepare students to design, implement, analyze, and understand both domain-specific and general-purpose programming languages. The book first develops basic concepts in languages, including means of computation using primitive values, means of combination such as variable definition and functions, and means of abstraction such as functions and recursive functions. It then examines imperative features such as references, concurrency features such as fork, and reactive features such as event handling. Finally, it looks at language features that express important, and often different, perspectives of thinking about computation, including those of logic programming and flow-based programming. Each chapter is associated with a working implementation of a small programming language, and students are encouraged to obtain the code corresponding to the chapters and follow along. Students should have experience in programming with Java as well as an understanding of object-oriented classes, inheritance, polymorphism, and static classes.
Tags from this library: No tags from this library for this title. Log in to add tags.
Item type Current location Call number Status Date due Barcode
Books DAU
005.133 RAJ (Browse shelf) Available 035183

Includes bibliographical references and index.

A textbook that uses a hands-on approach to teach principles of programming languages, with Java as the implementation language. This introductory textbook teaches the principles of programming languages by using an experiential learning style, in which students learn about language features by realizing those features in a pedagogical compiler. Students use Java—the most commonly used programming language in the first two years of the computer science curriculum—as the implementation language throughout. The book also discusses a range of emerging topics in programming languages missing from existing textbooks, including concurrency, Big Data, and event-driven programming. The goal is to prepare students to design, implement, analyze, and understand both domain-specific and general-purpose programming languages. The book first develops basic concepts in languages, including means of computation using primitive values, means of combination such as variable definition and functions, and means of abstraction such as functions and recursive functions. It then examines imperative features such as references, concurrency features such as fork, and reactive features such as event handling. Finally, it looks at language features that express important, and often different, perspectives of thinking about computation, including those of logic programming and flow-based programming. Each chapter is associated with a working implementation of a small programming language, and students are encouraged to obtain the code corresponding to the chapters and follow along. Students should have experience in programming with Java as well as an understanding of object-oriented classes, inheritance, polymorphism, and static classes.

There are no comments for this item.

Log in to your account to post a comment.

Powered by Koha