This may be the beginning of a grand adventure. Programming languages encompass a huge space to explore, play in, and perhaps carve out your own territory where you build something new for others to use. Brilliant computer scientists and software engineers have spent entire careers traversing this land without ever reaching the end. If this book is your first entry into the country, welcome.

The pages of this book give you a guided tour through a corner of the world of languages. But before we strap on our hiking boots and venture out, we should familiarize ourselves with the territory. The chapters in this part introduce you to the basic concepts used by programming languages and how they are organized.

We will also get acquainted with Lox, the language we’ll spend the rest of the book implementing (twice). Let’s go!