Dev tools · alternatives · 2026
24 alternatives to Going into freshman year, figured I should build an interpreter
Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D
Crumb is a garbage-collected, dynamically typed functional programming language implemented in C. Built by a freshman computer science student as preparation for an introductory Racket course, it demonstrates core… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Going into freshman year, figured I should build an interpreter launched in 2023; newer entries below may have overtaken it.
- 1

- 2

Programming language that compiles into a x86 ELF executable. - riicchhaarrd/ocean
2021 · github.com · its alternatives →
- 3LC
I made a simple virtual machine that runs C in the browser.This project is made as an experiment to see if C can be learned easier if the lower level is covered in paralel. Sandbox: https://vasyop.github.io/miniC-hosting Tutorial part 1: https://vasyop.github.io/miniC-hosting/?0 More info: https://github.com/vasyop/miniC-hosting/blob/master/README.md Please support this project: https://github.com/vasyop/miniC-hosting/blob/master/support.md
2019 · its alternatives →
- 4

Hey! I’m JC. I’m 17 and part of Hack Club, a nonprofit where we help teenagers ship programming projects with their friends while growing technically. A while ago, I asked myself the question, “How exactly do programming languages work behind the scenes?” It seemed really daunting until I went to a half hour workshop at a high school hackathon about writing a tree-walk interpreter and realized that getting started was actually super fun. This guide is designed in the vein of that - to get people, especially teenagers, started on learning how to build a programming language in a literal…
2024 · easel.hackclub.com · its alternatives →
- 5IW
The book page links to a blog post that explains how I got about it (and has a link to sample content), but the TL&DR is that I could not find a lot of books that were on "our" history _and_ were larded with technical details. So I set about writing one, and some five years later I'm happy to share the result. I think it's one of the few "computer history" books that has tons of code, but correct me if I'm wrong (I wrote this both to tell a story and to learn :-)). My favorite languages are Smalltalk and Lisp, but as an Emacs user, I've been using the latter for much longer and for my…
Feb 2026 · berksoft.ca · its alternatives →
- 6

A fun toy memory allocator (not thread safe, that's a future TODO). I also wanted to explain how I approached it, so I also wrote a tutorial blog post (~20 minute read) covering the code which you can find the link to in the README.
Nov 2025 · github.com · its alternatives →
- 7

I made this simple language over the past year, and it's time for me to say it's "done" (for now) and focus on other projects. I've struggled to answer the question "what is this language for?" other than "it's just for me" — and that's probably good enough. But I also wanted to make something "complete" that others could use if they wanted to. Writing my own language was an incredibly rewarding experience, and I'd recommend everyone trying it. Let me know if you have any questions or feedback, and please share your own experience if you've also made a language.
2023 · cassette-lang.com · its alternatives →
- 8

Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…
2023 · github.com · its alternatives →
- 9AR
2021 · guillaume.baierouge.fr · its alternatives →
- 10LP
Hi! I am doing a learning project, attempting to build an imperative language (and interpreter). The end product will be useless for others, I just want to learn and better understand how to build imperative languages. :) If someone else shares this interest and want to give some good hints on good resources I would be grateful. Currently I am looking at an awesome text by Bob Nystrom. All suggestions and tips on resources are most welcome. I am very much a beginner in this, but I find this topic very fascinating. Mail me or post links here! Cheers! You can try a beta version Online at…
2020 · its alternatives →
- 11

Simple, zero-dependency garbage collection for C. Contribute to mkirchner/gc development by creating an account on GitHub.
2019 · github.com · its alternatives →
- 12

See what it’s like to program in a language without null.
2015 · books.thoughtbot.com · its alternatives →
- 13

Moved to Forgejo! Contribute to krig/LISP development by creating an account on GitHub.
2018 · github.com · its alternatives →
- 14

One of the most challenging projects of my life :)
2024 · github.com · its alternatives →
- 15

Hi! I've been working on the flipjump project, a programming language with 1 opcode: flip (invert) a bit, then jump (unconditionally). So a bit-flip followed by more bit-flips. It's effectively a bunch of NOT gates. This language, as poor as it sounds, is RICH. Today I completed my compiler from C to FlipJump. It takes C files, and compiles them into flipjump. I finished testing it all today, and it works! My key interest in this project is to stretch what we know of computing and to prove that anything can be done even with minimal power. I appreciate you reading my announcement, and be…
2025 · github.com · its alternatives →
- 16

I've been working on implementing the compile-time approach to memory management described in this thesis (https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf) for some time now - some of the performance results look promising! (Although some less so...) I think it would be great to see this taken further and built into a more complete functional language.
2020 · github.com · its alternatives →
- 17

Bake, A build system for building, testing and running C & C++ projects - SanderMertens/bake
2018 · github.com · its alternatives →
- 18IB
This weekend I created stacklib.h - a single-header library that brings Forth-style stack operations to C. It implements a basic interpreter with: - Stack operations (push/pop/dup/swap/over/drop) - Arithmetic (+, -, *, /) - Output (., emit, cr) - Stack inspection (.s, depth) Example usage: Stack s; stack_init(&s); dict_init(); exec(&s, "10 20 + ."); // Prints "30" exec(&s, "1 2 3 4 .s"); // Shows stack contents The library is self-contained, requires no dependencies, and handles basic error checking. It was inspired by wanting to understand…
2025 · its alternatives →
- 19

A minimal viable programming language on top of liblgpp - codr7/alang
2021 · github.com · its alternatives →
- 20

rcor C compiler (under development). Contribute to rcorcs/rcc development by creating an account on GitHub.
2016 · github.com · its alternatives →
- 21

An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing - zanellia/prometeo
2021 · github.com · its alternatives →
- 22

This is a project I've wanted to write for a long time now. I really love the ideas from Nix and I still have a ton of respect for the project, but Nix-the-language never felt intuitive to me and I wanted something with more approachable tooling (although this was circa 2016, so I'm sure Nix has improved a lot since then too-- that was before Flakes were around!) Anyway, I started on the current iteration of Brioche about 6 months ago, and I finally cut an initial release. I'd still consider this a "technical preview" version (performance especially is pretty painful, so that'll be a focus…
2024 · brioche.dev · its alternatives →
- 23

Seven modules teaching C the way safety-critical systems are actually built: MATH → STRUCT → CODE → TEST. Each module answers one question: Does it exist? (Pulse), Is it normal? (Baseline), Is it regular? (Timing), Is it trending? (Drift), Which sensor to trust? (Consensus), How to handle overflow? (Pressure), What do we do about it? (Mode). Every module is closed (no dependencies), total (handles all inputs), deterministic, and O(1). 83 tests passing. Built this after 30 years in UNIX systems. Wanted something that teaches the rigour behind certified systems without requiring a decade of…
Jan 2026 · github.com · its alternatives →
- 24MP
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
2023 · zamfofex.neocities.org · its alternatives →
Also compare
- Crumb alternatives
- A work-in-progress C compiler from scratch alternatives
- Learn C and its lower levels interactively, in the browser alternatives
- I'm 17 and wrote a guide on how to build your own programming language alternatives
- I wrote a technical history book on Lisp alternatives
- I wrote a minimal memory allocator in C alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →