You Should Learn to Program

This all started in 1982 in Hong Kong, where I gave a lecture to several hundred people on the educational value of learning to program. I was so enamored of the lecture that I later wrote it up as an essay that was published in some magazine somewhere (Byte? Personal Computing?). That essay became Chapter one of this book. However, Chapter One cried out for additional material, so I wrote up the other stuff. However, my agent couldn’t find a publisher for it, and it languished for four or five years before it was printed by a minor publisher. I don’t think that he printed the appendix. Its use of BASIC is completely obsolete, but the ideas that it presents about programming are perfectly useful even now.

Hence now, in 2022, I have decided to rewrite the book entirely to take into account the changes in technology. In particular, I am replacing all the examples that were originally written in BASIC with examples in Javascript. This will take a while.

Why you should learn to program
How to talk to a computer
Arithmetic
Abstraction
Decisions, decisions
Over and over again
Machine Guns and Bullets
Bits, bytes, and bureaucracies
From data to information
Conclusions
Appendix: How computers work
Appendix: How transistors work