Celebrating Two Years of Sunder

Two years ago today I began working on the project that would eventually become Sunder, a C-like systems programming language and compiler for x86-64 Linux. A lot has happened in the twelve months since Sunder's first birthday. If year one was about laying a solid foundation for the Sunder project, then year two was about getting Sunder to be usable as a general purpose programming language. Over the past year Sunder has seen use in recreational programming problems1, a barebones x86-64 operating system kernel2, and a proof of concept interpreter3 that have all helped to guide the language and standard library to its current form. Sunder reached a point this past summer at which the language could be considered sufficiently stable4, and although there will always be a seemingly endless supply of work to be done improving the language and standard library, I am absolutely thrilled with where the project is after two years of development. Happy second birthday Sunder!


1. Including problems from Advent of Code 2015, Advent of Code 2022, and Project Euler.

2. SundOS, a barebones "hello world" kernel using the Limine bootloader. This project is really cool because the kernel is written entirely in Sunder!

3. Currently existing as the calculator language example within the Sunder repository.

4. Sunder has received a few major updates since the "Sunder is a Sufficiently Stable Programming Language" blog post, including a keyword change (const to let), as well as a standard library allocator rework. However, the core language and standard library are still very much the same.