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 one of the most difficult things I did in my career. But it was also the most beneficial. Once I discovered how languages worked, I could understand features I never 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 one of 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 Ruby? You're all set.

During the class, we'll use Ruby and a bit of C. 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 Ruby (some 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 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

Recordings of previous class

Everything you need to master languages.

  • Day 1: Creating a interpreter (~4h, MP4)
    Implement a parser, runtime & interpreter.
  • Day 2: Compiling and VM (~4h, MP4)
    How real languages work inside.

Price: $279

Buy now

Also includes downloadable slides, cheatsheets, recordings and a copy of Create Your Own Programming Language.

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.