Its only 55 years since the end of W.W.II. Since then, weve lived through forty years of cold war and now seem to be entering a period of vicious, hugely destructive, mercifully short and local wars.
In some periods and countries, Governments have worked closely with business while others have been characterised by regulation and bureaucracy working against businesses.
One trend that is universal is the increasing internationalisation of companies. In some cases, this almost extends to globalisation.
But, a contrary trend is gradually emerging - regionalisation. Many regions of countries are beginning to re-assert their uniqueness and this may lead to the need for software to be more easily adapted to different markets.
One major contributor to the changes in software over the first fifty years has been the huge advances in computer hardware.
It really is hard to believe the huge increase in power and capacity of computers over the last fifty years.
Whod have believed, only 20 years ago, that I could have on my desk a computer that probably has more capacity than the entire computer resources of a major university at that time?
The 5 shilling Rolls-Royce quote was one I read a few years ago and compares progress in computers and cars - youd probably now be looking at an analogy with a 1 penny postage-stamp sized truck.
But, where has all this power gone? Its all gobbled up by user-friendly software! Whats more, we always seem to need more computing power.
This slide is a brief, and extremely selective, history of software.
Apart from military uses such as cryptography and ballistics, the first software solved scientific problems.
As soon as people realised there was more to life than coding 0s and 1s, procedural languages were created. These may have eased the coding but just mirrors the underlying process that a computer uses to execute a program.
Almost as soon as businesses started using computers they realised that much computing is about storing and retrieving information. Rather than continually re-invent the wheel, they quickly took on board general purpose databases.
Interestingly, the first windowing systems were not well received. Sure, they were easier to use but they were either slow or expensive. It took another generation of hardware development before they really swept the world.
OO has developed as the first attempt to free developers from the one-step-at-a-time, with two-path decision process. Do we any longer think about what we are asking our computer to do as we code?
We are just beginning to see the end of coding with the development of tools that code for us.