Authors & Events
May 24, 2022
| ISBN 9780262045452
May 24, 2022
| ISBN 9780262362436
May 24, 2022 | ISBN 9780262045452
May 24, 2022 | ISBN 9780262362436
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.
Visit other sites in the Penguin Random House Network
Stay in Touch
Start earning points for buying books! Just for joining you’ll get personalized recommendations on your dashboard daily and features only for members.