intro computer programming
computers are an interesting tool that are capable of independent behavior. In fact, computers are considered to be able to do anything a human can do. In reality they cannot give birth and many other things, but they can make money more effectively than humans, which is changing our world severely.
So, when you learn computer programming there is a sweet spot of completely random length where you can make computers do absolutely anything for you like a god, until you stop being able to do this. To make this sweet spot last longer you basically have to be careful and lucky.
To _get_ to the sweet spot, you traditionally learn to program them, by writing code.
Likely because of conflict around that “sweet spot”, most modern programming is done in languages called “procedural”. Procedural languages have the computer do things in a very rote step-by-step manner, always in the same order, only making very simple decisions exactly when and how they are told. This is very nonintuitive for almost everybody when starting out, because it is not how most humans usually think, so normal computer programming is mostly about translating human interpretations of problems into these small rote steps that the computer expects.
I always say that when starting out programming you should immediately learn to use the interactive debugger with a view of the locals visible, and step through. It makes the unintuitive procedural behavior very clear, explaining every part. …