|Art by Philip Straub|
Not to be confused with Bret Victor's excellent talk last year at DBX, these posts will be less about individual technologies or developer user experience, and more about historic trends and viewing the present (and near future) through such a lense.
In this mini-series, the aim is to present posts on following topics:
- An Overview
- Themes at OSCON 2014
- Adopting the Functional Paradigm?
- Retrospective on Paradigms
- The Rise of Polyglotism
- Preparing for the Future
I did a similar set of posts, conceived in late 2008 and published in 2009 on the future of cloud computing entitled After the Cloud. It was a very successful series and the cloud industry seems to be heading towards some of the predictions made in it -- ZeroVM and Docker are an incremental step towards the future of distributed processes/functions outlined in To Atomic Computation and Beyond.
In that post, though, are two quotes from industry greats. These provide an excellent context for this series as well, hinting at an overriding theme:
- Alan Kay, 1998: A crucial key to growing large systems is effective communications between components.
- Joe Armstrong, 2004: To effectively model and solve problems in a distributed manner, we need concurrency... this is made easier when we isolate processes and do not share data.
In the decade since these statements were made, we have seen individuals, projects, and companies take that vision to heart -- and succeeding as a result. But as an industry, we continue to struggle with the definition of our art; we still are tormented by change -- both from within and externally -- and do not seem to adapt to it well.
These posts will peer into such places ... in the hope that such inspection might guide us better through the tangled forest of our present into the unimagined forest of our future.
Up next: Themes at OSCON 2014 ...