Beyang Liu on August 26, 2016
At Sourcegraph, we believe building for the future requires learning the lessons of the past. This is the first in a series of blog posts that cover historical anecdotes about software engineering that have inspired us as we build tools for the modern developer. We’re sharing these, because we think they hold lessons that are still very relevant to writing software today.
In the 2nd season of Mad Men, Don Draper’s “television expert” introduces the IBM System/360 to his boss. All work in the office stops. Everyone just stares at the giant calculator like it’s an alien. The cameo marks the System/360 as something of a cultural icon of the 1960s enterprise IT world. But it was much more than that. It was a monumental feat of engineering that ushered in a new era of computing.
Its longevity is a testament to the durability of its design principles. The IBM System/360 is the longest-lived computer architecture of all time — the software written for it in 1965 is still running on some Z-series IBM mainframes today.
Until the System/360, the mainframe market was highly fragmented. Many parts, from hardware components to operating systems, were specific to a particular model and interoperability was low. IBM had dozens of independent, incompatible product lines, and it was collapsing under the cost of support and maintenance.
An IBM engineer emphasizes the System/360's modularity and compatibility in this tech talk from the 1960s.
The System/360 introduced a new paradigm: a family of computers that spanned a wide range of performance characteristics, but all sharing a single architecture and running the same software. In fact, the name “360” came from the idea that a single computer could serve a full spectrum of customers.
The System/360 was also highly upgradable. Customers could swap out older modules for newer ones without replacing the entire system. The interfaces between these modules was well defined and documented. Over time, an ecosystem of third-party components emerged that was built on top of what might have been the first computing “platform”.
. Here are a few that we’ve taken away at Sourcegraph.
These lessons drive us in our mission to improve the current state of software development. We hope you’ll find them valuable in your life as a programmer, as well.
Have another interesting computer history lesson to share? Let us know!
Editor’s note: the original version of this article overstated the degree of speciation in the 1960s mainframe market. The language has been edited to clarify the transition between the pre- and post-System/360 world.