There are a million tutorials out here on the internet showing you bits of code for whatever language you’re trying to learn or implement. There are not, however, a lot of posts or essays on programming theory and logic in general. It’s imperative to have an academic training that precedes your production experience if your production experience is ever going to truly be top notch. This is true for most things learned and practiced in life. It’s like they say about a house only being as good as its foundation. And if your talking about personal computing and programming, you have to ask yourself where the beginning really is.
I’m going to consider the beginning to be birth of the PC and make reference to a book called Accidental Empires by Robert Cringley. This is a terrific book about how the PC came about and gives a more human look at the lives of Bill Gates, Steve Ballmer, Steve Jobs and the folks at Xerox Parc. It covers the players that were in the industry initially and touches on a program called VisiCalc. While these titans of today were developing the first operating systems and hardware as kids in garages, there was one piece of software that was simultaneously being developed that changed everything: VisiCalc. VisiCalc was a spreadsheet software that did something transformative to society: it gave people a reason to want a computer. It gave them something they could really use. The advent of the spreadsheet gave people this living interactive graph paper with a built in calculator and it was a oft overlooked transformative event for all of human society. In this sense, the spreadsheet was the father of the modern day PC. Without VisiCalc, there would probably be no computer on your desk today. This evolution of how humans interact with data was going to come eventually no matter what, but you would probably turn the clock back years on computer technology had VisiCalc not come along when it did.