→ Heliotrope Pajamas

Anyone Can Learn to Program

It's easy to program, it's hard to program well.

Anyone who can solve a Sudoku puzzle has the necessary intelligence to learn to program a computer. But it's hard to program well and most people aren't up to it, in the same way that almost anyone can play basketball or football, but only a few people are able to play at the professional level. Just as everyone should have some physical exercise but only a few people become professional athletes, everyone should have basic programming literacy but only a few people are destined to be really great programmers.

Normal people can program, e.g. secretaries can use Lisp to customize Emacs (just to pick a historical example) but for writing e.g. device drivers in Rust, you want a dedicated experienced professional.

Complexity

The challenge of programming well is exacerbated by the burgeoning fractal complexity of our systems. There are few stable fixed points in the programming world. For most people learning anything more complicated than Excel is counter-productive. (E.g. teaching noobies JS is cruel in a world that contains Elm.)

Reuse

With computers it's as if once a superstar athlete has made an amazing basket or touchdown or goal then anyone can do it too. Once a super-star 10x programmer has written some code (and it's seen real-world use and testing and fuzzing etc.) the rest of us can just use it and rely on it without the need to duplicate the effort and training of the author.