Author: Alex MacCaw
Publisher: "O'Reilly Media, Inc."
ISBN: 1449325548
Category : Computers
Languages : en
Pages : 61
Book Description
This concise book shows JavaScript developers how to build superb web applications with CoffeeScript, the remarkable language that’s gaining considerable interest. Through example code, this guide demonstrates how CoffeeScript abstracts JavaScript, providing syntactical sugar and preventing many common errors. You’ll learn CoffeeScript’s syntax and idioms step by step, from basic variables and functions to complex comprehensions and classes. Written by Alex MacCaw, author of JavaScript Web Applications (O’Reilly), with contributions from CoffeeScript creator Jeremy Ashkenas, this book quickly teaches you best practices for using this language—not just on the client side, but for server-side applications as well. It’s time to take a ride with the little language that could. Discover how CoffeeScript’s syntax differs from JavaScript Learn about features such as array comprehensions, destructuring assignments, and classes Explore CoffeeScript idioms and compare them to their JavaScript counterparts Compile CoffeeScript files in static sites with the Cake build system Use CommonJS modules to structure and deploy CoffeeScript client-side applications Examine JavaScript’s bad parts—including features CoffeeScript was able to fix
Programming in CoffeeScript
Author: Mark Bates
Publisher: Addison-Wesley Professional
ISBN: 032182010X
Category : Computers
Languages : en
Pages : 311
Book Description
Use CoffeeScript to Write Better JavaScript Code Than Ever Before! If you can do it in JavaScript, you can do it better in CoffeeScript. And, since CoffeeScript "compiles down" to JavaScript, your code will fit neatly into virtually any web environment. In Programming in CoffeeScript, Mark Bates shows web developers why CoffeeScript is so useful and how it avoids the problems that often make JavaScript code buggy and unmanageable. He guides you through every feature and technique you need to write quality CoffeeScript code and shows how to take advantage of CoffeeScript's increasingly robust toolset. Bates begins with the absolute basics of running and compiling CoffeeScript and then introduces syntax, control structures, functions, collections, and classes. Through same page code comparisons, you'll discover exactly how CoffeeScript improves on JavaScript. Next, you'll put it to work in building applications that are powerful, flexible, maintainable, concise, reliable, and secure. Bates shares valuable tips for better development, illuminating CoffeeScript's hidden gems and warning you about its remaining "rough edges." The book concludes with a start-to-finish application case study showing how to code back-ends and front-ends and integrate powerful frameworks and libraries. Coverage includes Understanding the right ways to compile and execute CoffeeScript Using CoffeeScript's clean syntax to focus on your code, not JavaScript's distractions Working with CoffeeScript's control structures, functions, and arguments Taking full advantage of CoffeeScript's implementation of collections and iterators Leveraging CoffeeScript's full class support to create complex data models Automating common application development tasks with Cake and Cakefiles Configuring Jasmine with CoffeeScript support, and using it to systematically test your code Writing Node.js server-side applications in CoffeeScript Using CoffeeScript to write jQuery and Backbone.js applications Integrating framework code to avoid "reinventing the wheel" Want a better way to create the JavaScript code your web applications need? CoffeeScript is the solution-and this book will help you master it!
Publisher: Addison-Wesley Professional
ISBN: 032182010X
Category : Computers
Languages : en
Pages : 311
Book Description
Use CoffeeScript to Write Better JavaScript Code Than Ever Before! If you can do it in JavaScript, you can do it better in CoffeeScript. And, since CoffeeScript "compiles down" to JavaScript, your code will fit neatly into virtually any web environment. In Programming in CoffeeScript, Mark Bates shows web developers why CoffeeScript is so useful and how it avoids the problems that often make JavaScript code buggy and unmanageable. He guides you through every feature and technique you need to write quality CoffeeScript code and shows how to take advantage of CoffeeScript's increasingly robust toolset. Bates begins with the absolute basics of running and compiling CoffeeScript and then introduces syntax, control structures, functions, collections, and classes. Through same page code comparisons, you'll discover exactly how CoffeeScript improves on JavaScript. Next, you'll put it to work in building applications that are powerful, flexible, maintainable, concise, reliable, and secure. Bates shares valuable tips for better development, illuminating CoffeeScript's hidden gems and warning you about its remaining "rough edges." The book concludes with a start-to-finish application case study showing how to code back-ends and front-ends and integrate powerful frameworks and libraries. Coverage includes Understanding the right ways to compile and execute CoffeeScript Using CoffeeScript's clean syntax to focus on your code, not JavaScript's distractions Working with CoffeeScript's control structures, functions, and arguments Taking full advantage of CoffeeScript's implementation of collections and iterators Leveraging CoffeeScript's full class support to create complex data models Automating common application development tasks with Cake and Cakefiles Configuring Jasmine with CoffeeScript support, and using it to systematically test your code Writing Node.js server-side applications in CoffeeScript Using CoffeeScript to write jQuery and Backbone.js applications Integrating framework code to avoid "reinventing the wheel" Want a better way to create the JavaScript code your web applications need? CoffeeScript is the solution-and this book will help you master it!
JavaScript Allongé
Author: Reginald Braithwaite
Publisher: Justin Kelly
ISBN:
Category : Computers
Languages : en
Pages : 246
Book Description
JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls. There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered. When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail. You need to understand why the directions work so that you can understand how to modify them to work properly at or beyond their original limitations. That’s where JavaScript Allongé comes in. JavaScript Allongé is a book about programming with functions, because JavaScript is a programming language built on flexible and powerful functions. JavaScript Allongé begins at the beginning, with values and expressions, and builds from there to discuss types, identity, functions, closures, scopes, and many more subjects up to working with classes and instances. In each case, JavaScript Allongé takes care to explain exactly how things work so that when you encounter a problem, you’ll know exactly what is happening and how to fix it. Second, JavaScript Allongé provides recipes for using functions to write software that is simpler, cleaner, and less complicated than alternative approaches that are object-centric or code-centric. JavaScript idioms like function combinators and decorators leverage JavaScript’s power to make code easier to read, modify, debug and refactor, thus avoiding problems before they happen. JavaScript Allongé teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down. As a result, JavaScript Allongé is a rich read releasing many of JavaScript’s subtleties, much like the Café Allongé beloved by coffee enthusiasts everywhere. License: CC BY-SA 3.0 Source is available from Github * https://github.com/justinkelly/javascript-allonge
Publisher: Justin Kelly
ISBN:
Category : Computers
Languages : en
Pages : 246
Book Description
JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls. There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered. When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail. You need to understand why the directions work so that you can understand how to modify them to work properly at or beyond their original limitations. That’s where JavaScript Allongé comes in. JavaScript Allongé is a book about programming with functions, because JavaScript is a programming language built on flexible and powerful functions. JavaScript Allongé begins at the beginning, with values and expressions, and builds from there to discuss types, identity, functions, closures, scopes, and many more subjects up to working with classes and instances. In each case, JavaScript Allongé takes care to explain exactly how things work so that when you encounter a problem, you’ll know exactly what is happening and how to fix it. Second, JavaScript Allongé provides recipes for using functions to write software that is simpler, cleaner, and less complicated than alternative approaches that are object-centric or code-centric. JavaScript idioms like function combinators and decorators leverage JavaScript’s power to make code easier to read, modify, debug and refactor, thus avoiding problems before they happen. JavaScript Allongé teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down. As a result, JavaScript Allongé is a rich read releasing many of JavaScript’s subtleties, much like the Café Allongé beloved by coffee enthusiasts everywhere. License: CC BY-SA 3.0 Source is available from Github * https://github.com/justinkelly/javascript-allonge
Pencil Code
Author: David Bau III
Publisher: David Bau
ISBN: 149434744X
Category : Computers
Languages : en
Pages : 57
Book Description
This elegant programming primer teaches K-12 students to code through more than 100 graded examples, each one illustrated in color. The second edition includes an appendix with a tutorial in CoffeeScript. Written by a computer scientist to teach his own children to program, the book is designed for inductive learning. The illustrated programs come with no expository text. Instead, the sequence of projects introduce increasingly sophisticated concepts by example. Each one invites customization and exploration. The book begins by suggesting a simple program to draw a line. Subsequent pages introduce core concepts in computer science: loops, functions, recursion, input and output, numbers and text, and data structures. The more advanced material introduces concepts in randomness, animation, HTML5, jQuery, networking, and artificial intelligence.
Publisher: David Bau
ISBN: 149434744X
Category : Computers
Languages : en
Pages : 57
Book Description
This elegant programming primer teaches K-12 students to code through more than 100 graded examples, each one illustrated in color. The second edition includes an appendix with a tutorial in CoffeeScript. Written by a computer scientist to teach his own children to program, the book is designed for inductive learning. The illustrated programs come with no expository text. Instead, the sequence of projects introduce increasingly sophisticated concepts by example. Each one invites customization and exploration. The book begins by suggesting a simple program to draw a line. Subsequent pages introduce core concepts in computer science: loops, functions, recursion, input and output, numbers and text, and data structures. The more advanced material introduces concepts in randomness, animation, HTML5, jQuery, networking, and artificial intelligence.
JavaScript Testing with Jasmine
Author: Evan Hahn
Publisher: "O'Reilly Media, Inc."
ISBN: 1449356370
Category : Computers
Languages : en
Pages : 51
Book Description
Developers looking to keep their JavaScript code bug-free will want to unit test using Jasmine, one of the most popular unit testing frameworks around. Any project of meaningful size should be automatically tested to help catch bugs as early as possible. Jasmine, a testing framework for JavaScript, makes it easy to test JavaScript projects, from browser-based applications to Node.js. While a quick understanding of Jasmine can be gleaned from the project’s homepage, the framework has a lot of details and exciting plugins. This book explores Jasmine in a depth that can’t be found elsewhere. This book provides: Exposure to some Jasmine plugins, to extend Jasmine and allow for more functionality and more thorough testing An Understanding of Jasmine’s main features, to allow code to be automatically tested and reduce bugs An Explanation of how to get Jasmine working in different environments (in the browser, in Node.js, through Rails, et cetera), to make Jasmine easier to work with
Publisher: "O'Reilly Media, Inc."
ISBN: 1449356370
Category : Computers
Languages : en
Pages : 51
Book Description
Developers looking to keep their JavaScript code bug-free will want to unit test using Jasmine, one of the most popular unit testing frameworks around. Any project of meaningful size should be automatically tested to help catch bugs as early as possible. Jasmine, a testing framework for JavaScript, makes it easy to test JavaScript projects, from browser-based applications to Node.js. While a quick understanding of Jasmine can be gleaned from the project’s homepage, the framework has a lot of details and exciting plugins. This book explores Jasmine in a depth that can’t be found elsewhere. This book provides: Exposure to some Jasmine plugins, to extend Jasmine and allow for more functionality and more thorough testing An Understanding of Jasmine’s main features, to allow code to be automatically tested and reduce bugs An Explanation of how to get Jasmine working in different environments (in the browser, in Node.js, through Rails, et cetera), to make Jasmine easier to work with
JavaScript Web Applications
Author: Alex MacCaw
Publisher: "O'Reilly Media, Inc."
ISBN: 1449315283
Category : Computers
Languages : en
Pages : 281
Book Description
Building rich JavaScript applications that bring a desktop experience to the Web requires moving state from the server to the client side—not a simple task. This hands-on book takes proficient JavaScript developers through all the steps necessary to create state-of-the-art applications, including structure, templating, frameworks, communicating with the server, and many other issues. Throughout the book, you'll work with real-world example applications to help you grasp the concepts involved. Learn how to create JavaScript applications that offer a more responsive and improved experience. Use the Model-View-Controller (MVC) pattern, and learn how to manage dependencies inside your application Get an introduction to templating and data binding Learn about loading remote data, Ajax, and cross-domain requests Create realtime applications with WebSockets and Node.js Accept dropped files and upload data with progress indicators Use major frameworks and libraries, including jQuery, Spine, and Backbone Write tests and use the console to debug your applications Get deployment best practices, such as caching and minification
Publisher: "O'Reilly Media, Inc."
ISBN: 1449315283
Category : Computers
Languages : en
Pages : 281
Book Description
Building rich JavaScript applications that bring a desktop experience to the Web requires moving state from the server to the client side—not a simple task. This hands-on book takes proficient JavaScript developers through all the steps necessary to create state-of-the-art applications, including structure, templating, frameworks, communicating with the server, and many other issues. Throughout the book, you'll work with real-world example applications to help you grasp the concepts involved. Learn how to create JavaScript applications that offer a more responsive and improved experience. Use the Model-View-Controller (MVC) pattern, and learn how to manage dependencies inside your application Get an introduction to templating and data binding Learn about loading remote data, Ajax, and cross-domain requests Create realtime applications with WebSockets and Node.js Accept dropped files and upload data with progress indicators Use major frameworks and libraries, including jQuery, Spine, and Backbone Write tests and use the console to debug your applications Get deployment best practices, such as caching and minification
Web Development Recipes
Author: Brian P. Hogan
Publisher: Pragmatic Bookshelf
ISBN: 1680505181
Category : Computers
Languages : en
Pages : 435
Book Description
Modern web development is so much more than just HTML and CSS with a little JavaScript mixed in. People want faster, more usable interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you over 40 concise solutions to today's web development problems, and introduces new solutions that will expand your skill set---proven, practical advice from authors who use these tools and techniques every day. In this completely updated edition, you'll find innovative new techniques and workflows, as well as reworked solutions that take advantage of new developments. Web development is constantly changing, and you need to stay on top of your game. Discover a wide spectrum of web development techniques, from how to improve the way you present content, to solutions for data analysis, testing, and deployment. In this edition we introduce new tools, add new recipes, and modernize old ones. You'll use Vagrant to automate server setup, and you'll discover new ways to develop blogs and static sites. You'll learn how to use Grunt to script the deployment of your web project, and use Angular to build a single-page app. You'll learn how to make content stand out with simple cross-browser styles; create animations that work well everywhere without plugins; and create lightweight, responsive layouts. We'll show you how to use preprocessors like CoffeeScript and Sass; write tests for your code; use Git and Dropbox to collaborate; configure and secure the Apache web server; use virtualization to set up your own servers automatically; and much more. Whether you're new to front-end development, or you've got a few years of experience, you'll become a more versatile developer by finding out how---and why---to use these solutions in your next project. What You Need: Your favorite text editor, the most current version of Mozilla Firefox, Internet Explorer, Google Chrome or Safari, and a working knowledge of HTML and JavaScript. Familiarity with command-line interfaces is a plus.
Publisher: Pragmatic Bookshelf
ISBN: 1680505181
Category : Computers
Languages : en
Pages : 435
Book Description
Modern web development is so much more than just HTML and CSS with a little JavaScript mixed in. People want faster, more usable interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you over 40 concise solutions to today's web development problems, and introduces new solutions that will expand your skill set---proven, practical advice from authors who use these tools and techniques every day. In this completely updated edition, you'll find innovative new techniques and workflows, as well as reworked solutions that take advantage of new developments. Web development is constantly changing, and you need to stay on top of your game. Discover a wide spectrum of web development techniques, from how to improve the way you present content, to solutions for data analysis, testing, and deployment. In this edition we introduce new tools, add new recipes, and modernize old ones. You'll use Vagrant to automate server setup, and you'll discover new ways to develop blogs and static sites. You'll learn how to use Grunt to script the deployment of your web project, and use Angular to build a single-page app. You'll learn how to make content stand out with simple cross-browser styles; create animations that work well everywhere without plugins; and create lightweight, responsive layouts. We'll show you how to use preprocessors like CoffeeScript and Sass; write tests for your code; use Git and Dropbox to collaborate; configure and secure the Apache web server; use virtualization to set up your own servers automatically; and much more. Whether you're new to front-end development, or you've got a few years of experience, you'll become a more versatile developer by finding out how---and why---to use these solutions in your next project. What You Need: Your favorite text editor, the most current version of Mozilla Firefox, Internet Explorer, Google Chrome or Safari, and a working knowledge of HTML and JavaScript. Familiarity with command-line interfaces is a plus.
Async JavaScript
Author: Trevor Burnham
Publisher: Pragmatic Bookshelf
ISBN: 168050312X
Category : Computers
Languages : en
Pages : 144
Book Description
With the advent of HTML5, front-end MVC, and Node.js, JavaScript is ubiquitous--and still messy. This book will give you a solid foundation for managing async tasks without losing your sanity in a tangle of callbacks. It's a fast-paced guide to the most essential techniques for dealing with async behavior, including PubSub, evented models, and Promises. With these tricks up your sleeve, you'll be better prepared to manage the complexity of large web apps and deliver responsive code. With Async JavaScript, you'll develop a deeper understanding of the JavaScript language. You'll start with a ground-up primer on the JavaScript event model--key to avoiding many of the most common mistakes JavaScripters make. From there you'll see tools and design patterns for turning that conceptual understanding into practical code. The concepts in the book are illustrated with runnable examples drawn from both the browser and the Node.js server framework, incorporating complementary libraries including jQuery, Backbone.js, and Async.js. You'll learn how to create dynamic web pages and highly concurrent servers by mastering the art of distributing events to where they need to be handled, rather than nesting callbacks within callbacks within callbacks. Async JavaScript will get you up and running with real web development quickly. By the time you've finished the Promises chapter, you'll be parallelizing Ajax requests or running animations in sequence. By the end of the book, you'll even know how to leverage Web Workers and AMD for JavaScript applications with cutting-edge performance. Most importantly, you'll have the knowledge you need to write async code with confidence. What You Need: Basic knowledge of JavaScript is recommended. If you feel that you're not up to speed, see the "Resources for Learning JavaScript" section in the preface.
Publisher: Pragmatic Bookshelf
ISBN: 168050312X
Category : Computers
Languages : en
Pages : 144
Book Description
With the advent of HTML5, front-end MVC, and Node.js, JavaScript is ubiquitous--and still messy. This book will give you a solid foundation for managing async tasks without losing your sanity in a tangle of callbacks. It's a fast-paced guide to the most essential techniques for dealing with async behavior, including PubSub, evented models, and Promises. With these tricks up your sleeve, you'll be better prepared to manage the complexity of large web apps and deliver responsive code. With Async JavaScript, you'll develop a deeper understanding of the JavaScript language. You'll start with a ground-up primer on the JavaScript event model--key to avoiding many of the most common mistakes JavaScripters make. From there you'll see tools and design patterns for turning that conceptual understanding into practical code. The concepts in the book are illustrated with runnable examples drawn from both the browser and the Node.js server framework, incorporating complementary libraries including jQuery, Backbone.js, and Async.js. You'll learn how to create dynamic web pages and highly concurrent servers by mastering the art of distributing events to where they need to be handled, rather than nesting callbacks within callbacks within callbacks. Async JavaScript will get you up and running with real web development quickly. By the time you've finished the Promises chapter, you'll be parallelizing Ajax requests or running animations in sequence. By the end of the book, you'll even know how to leverage Web Workers and AMD for JavaScript applications with cutting-edge performance. Most importantly, you'll have the knowledge you need to write async code with confidence. What You Need: Basic knowledge of JavaScript is recommended. If you feel that you're not up to speed, see the "Resources for Learning JavaScript" section in the preface.
The Book of Ruby
Author: Huw Collingbourne
Publisher: No Starch Press
ISBN: 1593272944
Category : Computers
Languages : en
Pages : 404
Book Description
Ruby is famous for being easy to learn, but most users only scratch the surface of what it can do. While other books focus on Ruby's trendier features, The Book of Ruby reveals the secret inner workings of one of the world's most popular programming languages, teaching you to write clear, maintainable code. You'll start with the basics—types, data structures, and control flows—and progress to advanced features like blocks, mixins, metaclasses, and beyond. Rather than bog you down with a lot of theory, The Book of Ruby takes a hands-on approach and focuses on making you productive from day one. As you follow along, you’ll learn to: –Leverage Ruby's succinct and flexible syntax to maximize your productivity –Balance Ruby's functional, imperative, and object-oriented features –Write self-modifying programs using dynamic programming techniques –Create new fibers and threads to manage independent processes concurrently –Catch and recover from execution errors with robust exception handling –Develop powerful web applications with the Ruby on Rails framework Each chapter includes a "Digging Deeper" section that shows you how Ruby works under the hood, so you'll never be caught off guard by its deceptively simple scoping, multithreading features, or precedence rules. Whether you're new to programming or just new Ruby, The Book of Ruby is your guide to rapid, real-world software development with this unique and elegant language.
Publisher: No Starch Press
ISBN: 1593272944
Category : Computers
Languages : en
Pages : 404
Book Description
Ruby is famous for being easy to learn, but most users only scratch the surface of what it can do. While other books focus on Ruby's trendier features, The Book of Ruby reveals the secret inner workings of one of the world's most popular programming languages, teaching you to write clear, maintainable code. You'll start with the basics—types, data structures, and control flows—and progress to advanced features like blocks, mixins, metaclasses, and beyond. Rather than bog you down with a lot of theory, The Book of Ruby takes a hands-on approach and focuses on making you productive from day one. As you follow along, you’ll learn to: –Leverage Ruby's succinct and flexible syntax to maximize your productivity –Balance Ruby's functional, imperative, and object-oriented features –Write self-modifying programs using dynamic programming techniques –Create new fibers and threads to manage independent processes concurrently –Catch and recover from execution errors with robust exception handling –Develop powerful web applications with the Ruby on Rails framework Each chapter includes a "Digging Deeper" section that shows you how Ruby works under the hood, so you'll never be caught off guard by its deceptively simple scoping, multithreading features, or precedence rules. Whether you're new to programming or just new Ruby, The Book of Ruby is your guide to rapid, real-world software development with this unique and elegant language.
Crafting Interpreters
Author: Robert Nystrom
Publisher: Genever Benning
ISBN: 0990582949
Category : Computers
Languages : en
Pages : 1021
Book Description
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.
Publisher: Genever Benning
ISBN: 0990582949
Category : Computers
Languages : en
Pages : 1021
Book Description
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.