Wednesday, January 9, 2013

Why is history so important?

When Einstein was asked "What is that one thing that should be taught in school?", he replied-- "History." Einstein didn't mean the history about a civilization, but the history of the subject that is being taught. If you are learning Physics, then you must learn about it's history, and understand how the field has evolved over time. As a graduate student at Santa Clara University, I remember a wise professor repeatedly iterating the same sentiment in a computational logic course. The professor kept reiterating--"History is important, it tells us why things are this way."

In my opinion, software engineers are notorious at ignoring the importance of history. I don't blame them, as I never had a subject that explained the software engineering evolution from a historical point-of-view. Just ask yourself--How many Java developers truly understand why it was created when another (dominant) object-oriented programming language (C++) was around? I bet that most universities and schools that teach the Java programming language never bother to explain what led to its existence. Java was created as a language for the web, and the main reason that it is such a success is because of it's "Write Once Run (or Debug) Anywhere" feature. The concept of having a Virtual Machine (VM) has really revolutionized programming; no wonder we now have many more languages that use the same concept.

In my opinion, to be a successful software engineer, it is important to understand the history of the technological evolutions. There are researchers--in academia and business--that understand this evolution, and they are the ones that are coming up with new technological advancements. Just something to think about then--people who understand history are the ones who have a place in it.