Compilersfor Humans

New Course by John Otander & Laurie Barth

If you're a web developer, you're likely working with multiple compilers every day... perhaps without realizing it.

These compilers enable you to work with programming languages at higher levels of abstraction, which means you can write code more expressively. This results in higher productivity.

No more 1's and 0's or mv t1 t2.

In the last two decades, web development has drastically changed. We treat the browser as a compile target.

JavaScript, JSX, and higher-level, component-based frameworks are used to author software which gets compiled to HTML, CSS, and JavaScript as part of a build step.

Compilers for Humans seeks to show you that compilers aren't magic, nor are they esoteric tools that only geniuses understand. At their core, compilers consist of a handful of steps that might have intimidating names:

  • Tokenization, or lexical analysis
  • Abstract Syntax Tree construction, or syntactic analysis
  • Transformation
  • Code generation
These terms might seem complex, but we are going to break them down, concept by concept, until they feel natural to think about and use.

Compilers for Humans will show you how each of these steps work with practical examples you can use today in your web development workflows.

Right now, we're working on a draft, and would love to share the early versions of this course with you. If you enter your email below, we will send you modules via email, for free, as the draft progresses.

Learn about Compilers

No spam, and you are free to unsubscribe at any time.