November 27th, 2022
You already understand all but one of the fundamental ideas of programming; they are part of our civilization and you live and work with them every day. Computer people don’t realize this, so they teach the ideas as if they’re special, weird, and difficult to comprehend. In this hyper-book, I’ll be explaining programming in terms of these ideas that already comprehend.
But first I must introduce you to the single most important idea behind programming: the difference between Object and Process. Read this page describing the concept. You would do well to read the five pages following that one.
The key idea here is one that they won’t teach you in a programming class, yet is the very core of the concept of programming. That idea is as follows: we all think in terms of objects, not processes, yet the computer is fundamentally a processing machine. The dichotomy between Object and Process, and our emphasis on thinking in terms of Objects, is the fundamental reason why we have done such a poor job of developing computer software. Today’s computer hardware is literally trillions of times more powerful than the first machines of the personal computer revolution, yet the software is at best only hundreds of times better. We can’t keep up with the hardware.
My point is not that you can be a better programmer by understanding Processing. My point is that, by dipping your toe into the water of Processing, you will greatly expand your intellectual horizons. Remember, our purpose here is to help you improve your thinking.