A while ago I was thinking about how to explain what it feels like to do programming to a non-programmer. So, this is what I came up with, and hopefully you’ll find it entertaining.
Essentially, programming is automating things using computer. The greatest power and the greatest weakness of computer is that it does exactly what you told it to, no more, no less. Which means, that on the one hand, it doesn’t get tired, doesn’t lose focus and doesn’t complain. On the other hand, you have to give it very detailed and specific instructions. Because of that even if the task in real life appears to be quite simple and strait forward, programming it can become a bit tricky. Consider an example: let’s say I ask you – a human – to buy groceries for spaghetti carbonara. Now, you probably don’t keep the recipe at the top of your head, so you ask me what products exactly do I need. Then you go to the grocery store and you find out that there’s no spaghetti left, but there’s some l