I’d be the first one to say that talking about the future of software development and the computing world is a difficult endeavour. So many variables can change suddenly and drastically, making future projections seem more like science fiction. Remember the futuristic talk we heard from “Jordan” at marketing during the dot-com boom? You can see why it's easy to be sceptical.
However, one person that is many times more informed concerning the future of technology than your correspondent is Grady Booch. His keynote at the recent Rational user conference really caught my ear recently.
Grady Booch is an IBM Fellow and one of the “three amigos” (along with James Rumbaugh, and Ivar Jacobson) who led the method unification effort that brought about the creation of the Unified Modelling Language (UML).
The keynote, titled “Celebrating Rational’s 50th Anniversary” saw Grady pushing forward 30 years to 2034 when Rational would be (hopefully) celebrating it’s 50th birthday. After giving a brief history of computers and IBM up until 2004, Grady used social, technological, political, economic and historical factors to predict the future right up until 2034—with some quite interesting and thought-provoking ideas on the future of software.
Some of the more interesting topics of interest in Booch’s future included predictions that:
- the population would level out at 8.8 billion people
- people would be governed by an online representative government
- the use of nano-technology would increase, as would that of biometrics and surveillance
- weapons would be remote control, with scenarios where humans would not be involved at all
- programming languages such as Java and XML would become "legacy"
- all news and entertainment would be delivered over the Internet
- Moore’s Law would no longer apply, making software development less “sloppy”
- personal computers would contain multiple processors, have a petabyte of main memory, an exabyte of external memory, and untethered terabit connectivity
- personal computers would be wearable (or embedded) and software will be embedded into devices.
- Most programmers would still write algorithmic snippets in the context of a "sea of objects”
- Java would not be the last language, although Booch suggested it might be Scott McNealy’s last
- network access would be a global commodity
- lawyers would become a common part of most development teams (Ugh!)
“Every advance leading to this state of the world in 2034 requires the presence of software not yet written as of 2004,” he said.
While the future three decades from now might be quite different from Booch’s predictions, it’s refreshing to start thinking of the real potential of the software industry again -- taking into consideration not only the capabilities of technology, but the real-world uses and needs future software will have to address.
For readers interested the full PowerPoint presentation with the predictions can be found here: http://www.booch.com/architecture/blog/artifacts/Anniversary.ppt