Ever wanted to make your own programming language or wondered how they are designed and built?
If so, this book is for you.
Crafting Interpreters contains everything you need to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It's a blast.
Starting from
main()
, you build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you write each one yourself.
The book is available in four delectable formats:
* Print
640 pages of beautiful typography and high resolution hand-drawn illustrations. Each page lovingly typeset by the author. The premiere reading experience.
Carefully tuned CSS fits itself to your ebook reader and screen size. Full-color syntax highlighting and live hyperlinks. Like Alan Kay's Dynabook but real.
Meticulous responsive design looks great from your desktop down to your phone. Every chapter, aside, and illustration is there. Read the whole book for free. Really.
I got bitten by the language bug years ago while on paternity leave between midnight feedings. I cobbled together a numberofhobbylanguages before worming my way into an honest-to-God, full-time programming language job. Today, I work at Google on the Dart language.
Before I fell in love with languages, I developed games at Electronic Arts for eight years. I wrote the best-selling book Game Programming Patterns based on what I learned there. You can read that book for free too.
Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam.
That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun.
This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused.
Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.
** About the author (2021)
Bob Nystrom is a senior software engineer at Google working on the Dart programming language. Before discovering a love of programming languages, he developed games at Electronic Arts. He is the author of the best-selling book "Game Programming Patterns".
** Bibliographic information
Title: Crafting Interpreters
Author: Robert Nystrom
Publisher: Genever Benning, 2021
ISBN: 0990582949, 9780990582946
Length: 640 pages
Subjects: Computers › Programming › Compilers
Computers / Languages / General
Computers / Programming / Compilers
Computers / Software Development & Engineering / Tools
(www.goodreads.com) Crafting Interpreters by Robert Nystrom | Goodreads website
Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam.
That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun.
This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused.
Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.