Hasty Briefsbeta

Bilingual

Writing Toy Software Is a Joy

a year ago
  • #programming
  • #toy-projects
  • #learning
  • Richard Feynman's quote 'What I cannot create, I do not understand' emphasizes the importance of hands-on learning.
  • Building toy programs helps retain the joy of software development amidst increasing commodification and AI influence.
  • Toy projects often provide unexpected practical benefits in professional work by deepening understanding of software constraints.
  • A list of toy programs with difficulty and time estimates is provided, including regex engines, OS kernels, emulators, and more.
  • Examples include a regex engine (difficulty 4/10, time 3 days), an x86 OS kernel (difficulty 7/10, time 1 month), and a GameBoy/NES emulator (difficulty 6/10, time 2 weeks).
  • Other projects: GBA game (3/10, 1 week), physics engine (5/10, 1 week), dynamic interpreter (4/10, 3 days), C-like compiler (8/10, 3 months).
  • Additional suggestions: text editor (5/10, 3 weeks), async runtime (6/10, 1 week), hash map (4/10, 1 week), rasteriser (6/10, 1 week).
  • More advanced projects: SDF rendering (5/10, 2 days), voxel engine (5/10, 1 week), threaded VM (6/10, 3 days), GUI toolkit (6/10, 2 weeks).
  • Challenging projects: orbital mechanics sim (10/10, 4 days), bitwise challenge (3/10, 1 day), ECS framework (4/10, 1 week), CHIP-8 emulator (3/10, 3 days).
  • Final projects: chess engine (5/10, 2 days), POSIX shell (4/10, 3 days).