A half-day workshop based around using C# and .NET Core to create a parser and interpreter for the Rockstar esoteric programming language.
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 .NET Core and an open source library called Pegasus. 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 .NET, you’ll have a rich understanding of exactly how parsers and interpreters work - and you’ll be a bona fide, 100%, certified Rockstar Developer.
You’ll need a computer with a working .NET Core development environment. MacOS, Linux or Windows are all supported, and Visual Studio Code with a recent version of the NET Core SDK will work just fine.
If you can run
dotnet new console -o HelloWorld and then
dotnet run Hello, you’ll be 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.