Lately I have noticed that the vast majority of all human experience has followed a single, concrete, model. I can describe this model as only the tools-and-rules model.
This is a type of progression where you are given/taught certain skills ( the tools ) which you use in an environment which obeys a certain set of rules. Here are some spheres where I've noticed this model at work:
- Mathematics - pure mental gymnastics. Addition, subtraction and division are the building blocks, then tools such as differentiation, limits etc. make themselves available to you. The rules of mathematics vary a little but the logic of algebra is probably the dominant: you have to do the same thing to both sides of the equation to preserve equality etc.
- Life - you are given a body, the ultimate tool, and let loose in a world that has a set of rules called "nature". Some things you can and cannot do in nature.
- Programming - (the one all of you have waited for) you learn the tools of each language, the syntactic constructs. You then use the syntax in a certain logical "world" of loops, recursion and pointers - these are the abstract concepts shared by computer programming in general.
I find that, considering my life according to this model, I am able to learn programming languages in scant days, enjoy mathematics - knowing that they are a type of mental game and I am able to develop my body more freely, knowing that it is just a fancy tool. This model occurs in spheres other than the ones I mentioned - computer games, cooking, reading, speaking ... and as a matter of fact in a peculiarly large array of fields.
It is computer science which turned my attention to the way that all of these other fields work, because CS is full of reusable knowledge and the same rules apply throughout all the brances of CS.