A version of this article first appeared in the July/August 1999 issue of Ancestry Magazine
The machines themselves are imposing - gray metal cabinetry with front plates full of colored lights and toggle switches. Like acolytes in an ancient temple, lab-coated technicians service the great machines behind locked doors. The public is kept away from these electronic brains. They are too complex and too fragile for the uninitiated to understand - much less use. Arcane instructions punched through paper cards are used to communicate with the mighty mainframe. Results are returned by a machine which is first cousin to the teletype.
This then, was the computing world of the late 1950s. A time when amazing achievements were being made in hardware design and software development. Many of those achievements effect computing even to this day. The PC on your desk, the ATM machine at your bank, and the on-board electronics in your car all must claim the massive mainframe computers of the 1950s as their immediate ancestors.
As with any ancestral legacy, its descendants are required to take the bad with the good. Our modern Year 2000 problem (see the November/December 1998 issue of Ancestry, page 55) is one such legacy. In the late 1950s, with processing time and electronic memory being prohibitively expensive, it became common practice to take shortcuts when structuring the format of stored data. This common practice resulted in the representation of years as simple 2-digit numbers: "56" for 1956, "57" for 1957, etc. For the primarily scientific purposes on which most computers of this time were focused, the 2-digit year worked quite well. Compared with a 4-digit year, the 2-digit shortcut saved space while still adequately representing the year in question. With the rapid growth in the business use of computers during this same period, cost-conscious companies found the 2-digit year convention to be a money saver on their expensive new machines. This shortcut was perpetuated as hardware, operating systems, and programming languages developed over time. Today's computing has inherited the "bad gene" of 2-digit years from its predecessors.
Clearly the Year 2000 problem is a bequest from past times. In the 1950s, few people were worried about computer systems which could not roll their dates past 1999. It was forty-some years in the future after all. Why worry about an event so far away? Why indeed. As we are today faced with a multitude of potential problems resulting from the 2-digit year data format, the Year 2000 looms large on our horizon. How many of us plan to be flying in an airplane or riding on an elevator at midnight on December 31, 1999?
An interesting historical footnote to the Year 2000 problem has recently surfaced. One of the more insightful computer pioneers has issued a well deserved "I told you so!" regarding the 2-digit date shortcut. Not all of system developers of the 1950s were unaware of need to fully represent the year with four digits. Bob Bemer, a pioneer in business computing, was recently quoted in Time magazine as having successfully confronted the 2-digit year problem in the late 1950s1. The most remarkable thing about Bemer's work on the 2-digit year problem was that genealogy contributed to his solution. The story of how the study of ancestors helped solve the Year 2000 problem in the late 1950s is almost the stuff of legend. This article provides the details which transform that legend into real history.
The Picture Clause
As a pioneer in the development of commercial (rather than strictly scientific) computing, Bob Bemer developed the COMTRAN (COMmercial TRANslator) programming language in 1957. COMTRAN became one of the three forerunner languages of the COBOL (COmmon Business Oriented Language) programming language. Bemer's conversations with Grace Hopper in the prior year had convinced him that programming languages specifically for business had a future. Hopper was a famous computing pioneer and the "mother" of COBOL. It may seem self-evident today, but the concept of a programming language useful for business purposes was revolutionary at the time. Bob Bemer also invented the "Escape" key found on every computer keyboard, the backslash character, and is the "father" of ASCII - but those are other stories.
Bob Bemer's COMTRAN language originally included the Picture Clause. The Picture Clause was the first programming language element to specify data format, size, and type. Much like a dictionary defines the spelling and meaning of a word, a Picture Clause defines the length of a piece of data, whether the data must contain letters or numbers, and other characteristics of the data. A Picture element could define a piece of data - say the year of a date - as a four digit long representation with each digit being a number between 0 to 9. And violà, a Y2K-proof data element has been defined. By 1958, Bob Bemer's Picture Clause had provided the flexibility to define a year as a complete, 4-digit representation within COMTRAN and subsequently COBOL. While Bemer suspected that this ability was a needed feature for business programming, he didn't have an immediate use in mind for it.
The Picture Clause from Bemer's COMTRAN language was carried forward as a standard part of the COBOL programming language. Bemer had always been concerned that the 2-digit year shortcut was unnecessarily limiting. COBOL's use of the Picture Clause gave the programming language the ability to define a 4-digit year. However, with processing and memory being highly expensive, COBOL programmers could still use the Picture Clause just as easily to define a 2-digit date. The ability to make year dates fully flexible for handling any given year thus became optional within COBOL. It was left up to the individual COBOL programmer to decide how to format year data. Some chose 4-digit years, some did not. Today COBOL remains one of the most commonly used business programming languages in the world.
In keeping with their religious obligations, members of the Church of Jesus Christ of Latter-day Saints (LDS) have been seeking ways to both preserve and make available genealogical information since the 1890s. With the advent of computers for business purposes in the 1950s, an informal group of LDS members from Southern California who were involved in the data processing business had begun suggesting to LDS headquarters in Salt Lake City how computers might aid the Church's objectives.
The Church formed an all-volunteer data processing group in July of 1958. This group consisted of Church members whose professional employers included IBM, the Rand Corporation, and Hughes amongst others. This volunteer group from Southern California set to work on writing a computer program which could demonstrate how computers might assist the Church's genealogy efforts. As this sort of project had never been done before, the LDS group called on Bob Bemer as a consultant for their project. This is when genealogy provided Bob Bemer with his "a-ha" moment of epiphany regarding 4-digit dates.
The LDS demonstration project selected for computerization was to take microfilmed copies of christening records from the British Isles and manually enter that information onto computer-readable punched cards. The information could then be entered into a computer and sorted in a variety of ways useful for family research. For example, family group sheets could be created from the christening records showing father, mother, and child in a standard format. This project was to be the first automation of what we now know as the International Genealogical Index.
The majority of the British christenings for this project were from before 1900. Obviously, the LDS demonstration project required the ability to represent christening dates which occurred in any of several centuries in the past back to the 1500s. This need to show dates in past centuries provided Bob Bemer with what he says was "a big push to think correctly by showing that at least one class of data, with the same name (year), could have alternate characteristics and representations (2-digit or 4-digit year)." As a consultant to the LDS demonstration project, Bob Bemer had been given a concrete user requirement to represent a fully flexible 4-digit date. Bemer became further convinced that the 4-digit date was "the right thing to do" as insurance companies began to computerize the life expectancy tables and individual records for their policy holders born in the 19th century. In 1958, a person born in 1878 was either 80 years old according to a 4-digit date compliant computer program or else was negative 20 years old according to a 2-digit date computer program!
This Work Copyright © 1999 Ancestry.com, Inc., all rights reserved. To see this Work in its original context and to view others like it, visit www.ancestry.com.