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