History, what is it good for?
When I interview someone I often ask, “Where did object oriented programming (OOP) come from?” There generally isn’t a right or wrong answer to this in the interview. You can go look up whether a particular answer is consistent with what’s on the internet. However you could give several answers that would all be right. You might say, “it was pioneered in Sketchpad.” Or you might say, “it came out of the atom in LISP.” Both are consistent with history. Each lens can bring a distinct understanding of OOP.
Why is that important?
I often cite Simula and base my understanding of OOP from that perspective. It helps me to understand OOP and think about how it works. I use it to tell myself a story. I ask about OOP because I’m interested in the story that they tell themselves. It can also help identify people that understand the how, but not the why of a technique. People who understand how, but not why generally can explain what OOP is, but not where it came from. The ability to understand why a technique is the way that it is, helps people understand when they should follow it. I would claim that ability is a prerequisite of mastery. As Pablo Picasso said, “Learn the rules like a pro, so you can break them like an artist.” You can’t know when it is okay to break a rule, if you don’t have an understanding of why.
Taking the time to really understand the history of technology is important. It gives a grounding in the intention. It allows current users not to reinvent the wheel. It helps to direct where and how to use current technologies. Ultimately if I could I would require all schools to have a class on the history of different technologies.