Esoteric Languages with JavaScript

A half-day workshop based around using JavaScript to create a parser and interpreter for the Rockstar esoteric programming language.

There is also a .NET Core version of this workshop.

In 2018, Dylan Beattie invented a programming language called Rockstar. Originally created as a joke, the Rockstar language inspired a community of developers to turn that joke into reality, and within a few weeks there were multiple working implementations of the Rockstar programming language.

Rockstar is just one example of an esoteric language, or esolang - a programming language designed around artificial constraints, created for fun rather than to solve any real-world problem. Esolangs range from whimsical languages inspired by music, art and literature, to completely incomprehensible languages designed to be almost impossible to work with - but underneath any esolang compiler you’ll find the same patterns, techniques and principles used to interpret and compile “real” programming languages like C and Go.

In this workshop, you’ll learn how to create a parser and interpreter for the Rockstar esoteric language, using JavaScript, NodeJS, and an open source library called peg.js. You’ll learn how to build up a complete language in stable increments, adding features to the grammar, the parser and the interpreter. You’ll learn how to implement function calls, flow control and recursion, and what’s actually happening “under the hood” to control features like variable scope and operator precedence.

By the end of the workshop, you’ll have a working Rockstar interpreter built in JavaScript, you’ll have a rich understanding of exactly how parsers and interpreters work - and you’ll be a bona fide, 100%, certified Rockstar Developer.

Prerequisites

You’ll need a computer with a working JavaScript development environment. MacOS, Linux or Windows are all supported, and Visual Studio Code with a recent version of the NodeJS will work just fine.

About the Trainer

Dylan Beattie is a software developer, musician and international keynote speaker. With over 20 years experience working in the software industry, Dylan has spoken and taught at over 100 software development conferences all over the world. He's the founder and director of Ursatile, established in 2020 to provide high-quality workshop training for software professionals. He was CTO at Skills Matter in London from 2017-2019, and throughout 2020 he's been working with NDC Conferences to virtualise their events in the wake of the coronavirus pandemic.

Dylan is a Microsoft MVP for Developer Technologies, and the creator of the Rockstar programming language. You can find him online at dylanbeattie.net or on Twitter as @dylanbeattie

Upcoming Course Dates

No public dates are currently scheduled.

If you'd like to run this workshop for your team or at your conference, please get in touch

Alternatively, join the mailing list to find out when new course dates are announced.