Member-only story
“Learn to Code” is Strictly Better Than “Tech Bros Should Learn Humanities”
One of my annual traditions is to alternate between trying and failing to learn Haskell and trying and failing to learn Scheme. It’s a comforting cycle. Both languages are, in different senses, very pure: a program written in either language is also a succinct expression of exactly what that program is for.
Older programming languages are basically a human-readable notation for what a computer does, but the purest ones are a human-readable notation for what the programmer is trying to accomplish. It’s not a coincidence that Scheme and Haskell come from academic theorists. Python, the language I can actually accomplish things in, is descended from a language meant for teaching.
Python is fine, but it makes me feel guilty. It’s like reading a work of pop history when Herodotus is sitting right there on the shelf. Glaring at you.
So, periodically I get very ambitious and crack open SICP or start reading about type theory. At some point, I lose momentum and switch from trying to do things the right way to actually doing them the easy way.
A few years ago, in a Haskell phase, I signed up for a reading group.that was working through Haskell Programming from First Principles. Great book, great group. And one of the surprising things about this…