Master your most important tool,
your programming language.

Discover how JavaScript, Ruby, Python or Java work inside and learn to create your own.

Book Now

Do you know how that if statement you're using all day is parsed, compiled and interpreted by your machine? How inheritance, scope, closures really work? Browsing online programming forums feels like most people always know more than you? There is only one way to level up as a programmer.

To master your craft, you need to understand how your tools work. Your tool, as a programmer, is your programming language.

In this class, in only 8 hours, I'll teach you everything you need to know to understand how programming languages work, but also how to create your own. I've had several students create their first programming language in a few hours right after the class.

« Not 24h after part 2 and I have already completed a programming language!

I highly recommend this to anyone interested in the subject. It shows every part required for a programming language implementation, and has as much information as can be put into eight hours while remaining easy to follow. »

Felix Rabe

The Teacher

Taught by Marc-André Cournoyer, author of Create Your Own Programming Language

Learning how programming languages work is the most difficult things I did in my career. But it was also the most benefical. Once I discovered how languages worked, I could understand features I nerver understood before. I could learn new languages faster. Because I knew how they work inside.

I've also discovered a passion for creating my own languages. It is for me the perfect blend of art and science. You're using the science of parsers, machines and interpreters. But at the same time creating a way for programmers to express themselves. It is the most fun I ever had with a computer.

Learning this stuff will be a life changing experience!

Teaching

Marc-André Cournoyer · macournoyer.com

I spent many years learning about programming languages because I wanted to create my own. I finally did it and created dozens of languages, including TinyRB, the smallest and of the the fastest Ruby implementations.

I've used my experience to write a book, Create Your Own Programming Language, which helped many others create their first programming languages, including CoffeeScript.

Testimonials

Join the 500+ people who have attended this course

Topics

Here's what you'll learn in this class

  • Get rid of all the magic! Finally understand how it all works.
  • Understand dynamic and lexical scoping.
  • Learn the differences between class-based and prototype-based languages.
  • Truly understand closures and their quirks.
  • Write better and faster code by knowing how it is interpreted.
  • Understand the tradeoffs of programming language design and know what you can and can not do with your code.
  • Learn to parse any language with ease.
  • Uncover the lingo: lexer, parser, runtime, interpreter, compiler, potato.
  • Implement your own programming language.
  • Learn new programming languages faster.
  • And much more ...

You will also take home

  • Downloadable copy of the slides used in the class.
  • Cheatsheets summarizing important points for quick reference.
  • Downloadable video recording of the class.
  • Code from the class you can share, modify and reuse.
  • Eternal and permanent awesomeness.
  • Bonus A copy of Create Your Own Programming Language

How it works

Everything is online. Pants optional.

Everything is online, you only need a web browser with Adobe Flash support for the video and audio.

We all meet at a given time in a chat room where you'll get instructions to start watching the streaming video of the class.

I will present the content using slides and live coding sessions. You can ask questions at any time using the chat room. Each module will end with a period of questions and exercises.

You will never appear on video. You only need to watch the live video of the class. You ask questions in the text-based chat room.

If you miss any part of the live class you can watch the recording of it any time you want.

Setup

A computer, an internet connection and Node? You're all set.

During the class I will code in JavaScript using Node. Code will be pushed using Git. You probably have most of this installed already.

Who is it for

What you need to know before taking this class

You should take this class if ...

  • you know object oriented programming.
  • you know JavaScript (most of the syntax, at least).
  • you've worked with a few programming languages.
  • you've used a dynamic language such as JavaScript, Ruby, Python or PHP.

You should NOT take this class if ...

  • you're getting started with programming.
  • you want an easy and casual class. This class is intense!
  • you are Guido van Rossum.
  • you are a pony.
  • you think none of this is funny. Because I believe learning should be fun, everything is done with lots of humor.

Still not sure what is required to take this class? Drop me a line.

When

No class planned at the moment.

Sign up on the waiting list to be the first to know about future editions and get a discount.

What you get

Content

Places are limited & they go fast!

This class will be highly interactive, I want to be able to answer all of your questions. Thus, each class is limited to 25 people. Keep in mind, previous editions sold out in just a few days.

How much?

Most compiler and language courses at a good universities are around $2,000. But I want to keep this class accessible. The price for the full 8 hours of interactive class, cheatsheets, exercises and a copy of Create Your Own Programming Language is $529.

Love it or it's free!

However, if at any time during the class you feel that you're not getting your money's worth, I'll give you your money back and you keep all the material, no questions asked. There are no risks, you can't lose.

« My only regret is not signing up for the previous class before it sold out. Seriously excellent class. »

Ryan Martinsen

Packages

Choose between three Packages

Basic package

Everything you need to master Rails.

  • Day 1: Creating a language (4h)
    Implement a parser, runtime & interpreter.
  • Day 2: Extending our language (4h)
    Implement inheritence, scoping, closures and compilation.

$479 if you book early, $529 afterward.

Sold out! Sorry all tickets are gone.

Get on the notification list

Complete package

Everything you need to master Rails, and more.

  • Day 1: Creating a language (4h)
    Implement a parser, runtime & interpreter.
  • Day 2: Extending our language (4h)
    Implement inheritence, scoping, closures and compilation.
  • Video: Implementing a VM
    Learn how real languages work inside.
  • Video: Implementing a template engine
    Learn how CSS & HTML pre-processor work.
  • Office hours one week after the class
    Get help with your projects.

$629 if you book early, $729 afterward.

Sold out! Sorry all tickets are gone.

Get on the notification list

Complete package + Coaching

Access to everything, plus a private session.

  • Day 1: Creating a language (4h)
    Implement a parser, runtime & interpreter.
  • Day 2: Extending our language (4h)
    Implement inheritence, scoping, closures and compilation.
  • Video: Implementing a VM
    Learn how real languages work inside.
  • Video: Implementing a template engine
    Learn how CSS & HTML pre-processor work.
  • Office hours one week after the class
    Get help with your projects.
  • 1-on-1 coaching session (1h)
    Personalized help with your projects or problems.

$979 if you book early, $1,029 afterward.

Sold out! Sorry all tickets are gone.

Get on the notification list

All packages include downloadable slides, cheatsheets, recordings and a copy of Create Your Own Programming Language.

Can't attend the live class?

Get the recordings or Get on the waiting list

See you in class,

Signature-white

P.S.: Still not sure you should take this class? Got some questions? Drop me a line and let me know.