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
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!
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.
« Really liked the exercises. The content was very well explained. I've looked at this topic before, but never had it explained so clearly, and concisely.
It was awesome that after only 4 hours we had a working language that we could use through a REPL. I was awestruck at that moment. »Emery Miller
« I loved how well prepared you were and how much information you were able to put into the 8 hours. The exercise portion was great, kept me involved and helped me check my understanding of the concepts. All around fantastic class and I would definitely do it again. »Christen Thompson
« Fantastic! Best class I've taken in years. »Doug Goldie
« Great breakdown of what is required to create a programming language. This no longer feels like magic :) »Dan Nuttall
« The best course I've done in my life. The compiler subject is dense and hard, but it was easy to understanding all the concepts in this course. Exceeded all my expectations. »Luiz Hespanha
« I don't have a background in computer science, so there are some big gaps in my knowledge. This class has given me a deeper understanding of what makes a programming language work. I'd recommend it! »Drew Neil
« Phenomenal. If you are interested in the 'how' of programming languages then this class is an amazing crash course. The material is well thought out and the exercises are engaging and fun. I'll be recommending this class to every developer I know. »Bryan Weber
« It has really given me a lot of insight and perspective to understand better all the layers present in a programming language. »Josep M. Bach
« The class is well prepared, well given and contains valuable material. I certainly recommend it to anyone wishing to learn about how his/her preferred language works! »Cassiano D'Andrea
« the materials & the presentation of the course were incredibly polised and easy to follow. »Chris Lowder
« Quickly demystifies language implementation; I felt like I could easily write something useful after taking the class! »Jen-Mei Wu
« Creating your own language seems like an impossible, superhuman task. [this class] makes it seem, if not easy, possible. You will learn a ton. Take it.
I loved learning more about what really happens when a higher-level interpreter like Ruby executes code. »Peter Aronoff
« Great class - Lot's of practical examples, a broad range of covered topics accompanied by great material. I really enjoyed it. Thanks a lot! »M. Deilmann
« A great class that demystifies the various pieces of building a language. It has really opened my eyes to new possibilities. »TJ Usiyan
« It was an amazing experience. [...] Enjoyed every moment of it. »Rajesh Pillai
« The class was fantastic! Marc-André was well-prepared and the exercises helped me really understand what's involved in implementing a programming language. »Clinton Nixon
« I like how this class was unashamedly advanced. [...] This is so much better than dumbing things down! »James Gray
« I highly recommend this course to anyone interested in understanding how programming languages work, as well adventuring yourself into creating your own thing. Perfect not only for DSL's, but for full-blown languages too! »Klaus Silveira
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.
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.
Sign up on the waiting list to be the first to know about future editions and get a discount.
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.
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.
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
Everything you need to master languages.
Also includes downloadable slides, cheatsheets, recordings and a copy of Create Your Own Programming Language.
See you in class,
P.S.: Still not sure you should take this class? Got some questions? Drop me a line and let me know.