When I’m learning a new programming language, the biggest challenge I face is figuring out what to build with it. Programming challenge websites can be useful, but they rarely ever push you towards exploring real-world use cases for a language.
Thankfully, there’s a variety of resources available on the Web that walk you through building reasonably complex projects step by step. I’ve collected a few of my favorites here.
Crafting Interpreters by Bob Nystrom
The Raytracing in One Weekend series by Peter Shirley
Writing an OS in Rust by Philipp Oppermann
Building Git by James Coglan
Write Yourself a Git! by Thibault Polge
Mazes for Programmers by Jamis Buck
Roguelike Tutorial in Rust by Herbert Wolverson
Roguelike Tutorial 2020 by gridbug
Build Your Own Lisp by Daniel Holden
Make a Lisp by Joel Martin and community
Writing a NES Emulator in Rust by Rafael Bagmanov