"Computers" have rapidly worked their way into every corner of our lives. I put computers in quotes, because I think that the term evokes an image that understates the extent of their pervasiveness.
The reality is that a huge percentage of modern electronics on the market contains a computer of some size these days, at least by the most generic functional definition. You likely have a hundred of these devices in your home hiding in audio-video equipment, thermostats, remote controls, gas and electrical meters, phones, kitchen appliances and so on. There are 30-100 computers in a modern car. When we get to the fundamentals of life (internet, power, water and food) or to how to keep society ordered (traffic lights and emergency services) the number of devices is even greater.
Some estimates I've seen say that today, 90% of all computers are embedded into devices; by 2020, we expect 5-10 embedded computers for every person on the planet.
Quick quiz! What makes computers so useful? What makes them the "tool of choice" when you build things these days?
In my experience the answer is very simple: Software. Designing and building hardware is slow and expensive. It's sometimes faster and cheaper to build a more general-purpose hardware platform, accessorize it with some usage specific dongles and change out the software as needed. Typically the difference is how well constructed and aligned with your problem the platform is. These software-based systems have driven a huge increase in productivity (value generated per time). It is orders of magnitude faster to make changes or correct issues with the compiler effectively doing the dirty work of converting human-generated algorithms into device instructions.
But wait! If we will really have more than 40 billion embedded devices on the planet soon -- 5 to 10 per person -- who will do all that programming?
My contention: most everyone will be (or already is) a programmer. Programming is/must/will become inclusive of all "intelligence workers." It won't just be for geeks and techies.
Need convincing? That will be the topic of my next post.