Mental Agility Jams for Programming
2025-03-24
If you just want to “fool around” in order to understand programming better, then, stay away from the heavy-weight languages and operating systems that we have today.
You need to understand every line of code, if you you think - like me- that programming can be fun.
Here are some things that helped me understand:
Ron Cain’s Small C (how to build a C compiler from scratch, in DDJ magazine pages 5-19)
Smalltalk Blue Book, Part Four (Part Four was later lanced by the suits in the name of profit, resulting in the Purple Book)
Tunney’s Sector Lisp and BLC
Holt’s book Concurrent Euclid, The UNIX System and Tunis, esp. chapter 10 which gives code for a preemptive kernel
Frits van der Wateren Lisp written in assembler for a simple-to-understand CPU architecture (I have the source code in a more consolidated form on my disk(s) somewhere... - ask if interested)
V7 UNIX source code - small enough to fit in a briefcase and be carried around on public transport, or Lion’s A COMMENTARY ON THE SIXTH EDITION UNIX OPERATING SYSTEM
Nils Holm’s Prolog in Scheme
etc.
Implementing any of the above in your language of choice will, probably, give you a better appreciation for what’s going on under the covers. Most of the above should be easy to implement using languages with garbage collection (something that wasn’t common in the early days).
See Also
Email: ptcomputingsimplicity@gmail.com
References: https://guitarvydas.github.io/2024/01/06/References.html
Blog: guitarvydas.github.io
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/65YZUh6Jpq
Leanpub: [WIP] https://leanpub.com/u/paul-tarvydas
Gumroad: tarvydas.gumroad.com
Twitter: @paul_tarvydas
Substack: paultarvydas.substack.com

