One day I want to start a school. A physical place where you’d drop your kids off and pick them up. The school would help people work on three life skills: logic, communication, and health. Logic, to improve the quality of our thoughts; communication, so that we can be understood; health, so that we are mentally and physically strong.
My worst impulse would have me create separate courses for logic, communication, and health. A little life has shown me that things aren’t so neat. We learn skills while applying them to an activity. Without application, nothing sticks. It’s hard to even understand the point of what you’re doing.
This is where programming comes in. Programming is logic, communicated. To solve a programming problem, you need to devise a logical solution (step 1). Then you need to communicate it to the computer (step 2). If you work with others, you need to communicate how everything works to people (step 3). This process makes programming the perfect activity for improving logic and communication.
So, if you thought my primary objective was to help people get better at programming, now you know better.