Happy new year! A resolution of mine for 2015 is to write more—not just code, which is itself an admirable goal, but human-readable English. This was motivated by (1) the advice in this article I read recently, which is not new advice, (2) the hope that, for all the benefits of specialization, there’s value in maintaining competence in both programming and verbal language, and (3) the fact that I like writing! So you can expect more consistent posts than the last six months have yielded.
My commitment to blog is also part of a larger goal: to further establish myself as a software engineer, which means (among other things like improving my technical skills) better understanding the industry. Recognizing my ignorance about computer science and its history, I put Walter Isaacson’s “The Innovators” on my Christmas wishlist.
I’m only two chapters in, but I’m already struck by two major things: (1) the main thesis arguing that innovation is more attributable to collaboration than to singular genius and (2) the convergence of technological advances in the year 1937, all of which accelerated towards the modern computer.
New approaches, technologies, and theories began to emerge in 1937… It would become an annus mirabiliis of the computer age, and the result would be the triumph of four properties, somewhat interrelated, that would define modern computing.
He defines those four computing properties as digital, binary, electronic, and general purpose, and he summarizes the following key individuals and their contributions in (and around) 1937:
|Alan Turing (Cambridge/Princeton)||Published paper of mathematical theory (addressing Hilbert’s Entscheidungsproblem), with the byproduct of the conceptual “Logical Computing Machine”, which became known as the Turing Machine (“It is possible to invent a single machine which can be used to compute any computable sequence”).|
|Claude Shannon and George Stibitz (Bell Labs)||Shannon figured out that electrical circuits could execute Boolean logical operations using an arrangement of on-off switches. Stibitz built the Complex Number Calculator which, based on Shannon’s insight, showed the potential of circuit relays to do binary math, process information, and handle logical procedures.|
|Howard Aiken (Harvard)||Began plans on the Mark I which, when completed in 1944 under IBM and the Navy, was fully automatic—it could run for days without human intervention—as well as digital (though non-binary and partially mechanical).|
|Konrad Zuse (Berlin)||Finished a calculator prototype, the Z1, that was binary and could read instructions from a punched tape (though mechanical). This ultimately gave way to the Z3, which was the first fully working all-purpose, programmable digital computer.|
|John Vincent Atanasoff (Ames, Iowa)||Conceived the first partly electronic digital computer, which solved linear equations. It used mechanically rotating cylinders to replenish electrical charges in condensers and thus maintain memory. Atanasoff was also (disputedly) the inspiration for John Mauchly’s work.|
|John Mauchly and J. Presper Eckert (UPenn, 1940s)||With funding from the US War Department, built ENIAC (the Electronic Numerical Integrator and Computer). ENIAC was digital computer using the decimal (not binary) system, which could handle conditional branching and subroutines.|
Incredible how much took place—or was at least initiated—over the course of a single year, and telling that the contributions that persisted were ones of collaboration, whether as partnerships of key individuals (e.g., Turing, Max Newman, and Alonzo Church) or in settings with collaborative resources (e.g., Bell Labs and major universities). Without diminishing their significance, those lone innovators were ultimately unable to mark history in the same way (e.g., Atanasoff, whose prototype was forgotten and dismantled, or Zuse, whose work with a single college friend was interrupted and lost when he was pulled into engineering airplanes for the German military).
As we head into this new year, I can only hope 2015 will be half as innovative as 1937, and that I can apply those lessons of collaboration to my blog and my continued growth as a developer.