Robert William Bemer (February 8, 1920 – June 22, 2004) was a computer scientist best known for his work at IBM during the late 1950s and early 1960s.[1]
Bob Bemer | |
---|---|
Born | Robert William Bemer February 8, 1920 |
Died | June 22, 2004 Possum Kingdom Lake, Texas, US | (aged 84)
Education | Albion College (B.A., Mathematics, 1940) Cranbrook Kingswood School |
Known for | Early work as a computer pioneer, standardizing ASCII |
Scientific career | |
Fields | Computer science |
Institutions | Douglas Aircraft Company, RAND Corporation, IBM, UNIVAC – Sperry Rand, Bull, General Electric, Honeywell |
Website | bobbemer |
Early life and education
editBorn in Sault Ste. Marie, Michigan, Bemer graduated from Cranbrook Kingswood School in 1936 and took a Bachelor of Arts (B.A.) in mathematics at Albion College in 1940. He earned a certificate in aeronautical engineering at Curtiss-Wright Technical Institute in 1941.
Career
editBemer began his career as an aerodynamicist at Douglas Aircraft Company in 1941, then worked for RAND Corporation from 1951, IBM from 1957, UNIVAC – Sperry Rand in 1965, Bull from 1965, General Electric from 1970, and Honeywell from 1974.[2]
He served on the committee which amalgamated the design for his COMTRAN language with Grace Hopper's FLOW-MATIC and thus produced the specifications for COBOL. He also served, with Hugh McGregor Ross and others, on the separate committee which defined the ASCII character codeset in 1960, contributing several characters which were not formerly used by computers including the escape (ESC
), backslash (\
), and curly brackets ({}
).[3] As a result, he is sometimes known as The Father of ASCII.[1] In 2000, Bemer claimed to have proposed the term octet (rather than Werner Buchholz' byte) while heading software development at Cie. Bull, France, between 1965 and 1966.[4] He also proposed the term hextet for 16-bit groups.[4]
Bemer is probably the earliest proponent of the software factory concept. He mentioned it in his 1968 paper "The economics of program production".[5]
Other notable contributions to computing include the first publication of the time-sharing concept in 1957 and the first attempts to prepare for the Year 2000 problem in publications as early as 1971.[6] Acting in an advisory capacity, Bob and Honeywell employees Eric Clamons and Richard Keys developed the Text Executive Programming Language (TEX).[7]
In the late 1990s, as a retiree, Bob invented an approach to Year 2000 (Y2K) date conversion, to avoid anticipated problems when dates without centuries were compared in programs for which source code was unavailable. This involved detecting six and eight character operations at runtime and checking their operands, adjusting the comparison so that low years in the new century did not appear to precede the last years of the twentieth century.
Bob Bemer maintained an extensive collection of archival material on early computer software development at www.bobbemer.com.
Death
editBemer died at his home in Possum Kingdom Lake, Texas in 2004 at age 84 after a battle with cancer.[8][9][10][11]
References
edit- ^ a b "Biography of Robert William Bemer".
- ^ "Resumé of Bob Bemer". Archived from the original on 2017-06-28. Retrieved 2017-04-03.
- ^ Bemer, Bob (2002-07-07). "The Great Curly Brace Trace Chase". Computer History Vignettes. Bob Bemer. Archived from the original on 2009-06-04. Retrieved 2009-10-11.
- ^ a b Bemer, Robert William (2000-08-08). "Why is a byte 8 bits? Or is it?". Computer History Vignettes. Archived from the original on 2017-04-03. Retrieved 2017-04-03.
[…] I came to work for IBM, and saw all the confusion caused by the 64-character limitation. Especially when we started to think about word processing, which would require both upper and lower case. […] I even made a proposal (in view of STRETCH, the very first computer I know of with an 8-bit byte) that would extend the number of punch card character codes to 256 […]. So some folks started thinking about 7-bit characters, but this was ridiculous. With IBM's STRETCH computer as background, handling 64-character words divisible into groups of 8 (I designed the character set for it, under the guidance of Dr. Werner Buchholz, the man who DID coin the term "byte" for an 8-bit grouping). […] It seemed reasonable to make a universal 8-bit character set, handling up to 256. In those days my mantra was "powers of 2 are magic". And so the group I headed developed and justified such a proposal […] The IBM 360 used 8-bit characters, although not ASCII directly. Thus Buchholz's "byte" caught on everywhere. I myself did not like the name for many reasons. The design had 8 bits moving around in parallel. But then came a new IBM part, with 9 bits for self-checking, both inside the CPU and in the tape drives. I exposed this 9-bit byte to the press in 1973. But long before that, when I headed software operations for Cie. Bull in France in 1965-66, I insisted that "byte" be deprecated in favor of "octet". […] It is justified by new communications methods that can carry 16, 32, 64, and even 128 bits in parallel. But some foolish people now refer to a "16-bit byte" because of this parallel transfer, which is visible in the UNICODE set. I'm not sure, but maybe this should be called a "hextet". […]
- ^ "The Software Factory Principle". Archived from the original on 2001-04-06.
- ^ Lee, J.A.N.; Rosin, Robert F (1992). "Time-Sharing at MIT". IEEE Annals of the History of Computing. 14 (1): 16. doi:10.1109/85.145316. S2CID 30976386. Retrieved October 3, 2022.
- ^ "Introduction to TEX". Interface Age: 144. August 1978.
- ^ Sullivan, Patricia (2004-06-25). "Computer Pioneer Bob Bemer, 84". The Washington Post. p. B06. Retrieved 2016-06-15.
- ^ Vance, Ashlee (2004-06-24). "Programming pioneer Bob Bemer dies at 84 - ASCII, ESC, /, COBOL, Y2K, RIP". The Register. Archived from the original on 2016-06-16. Retrieved 2016-06-16.
- ^ "Key computer coding creator dies". BBC. 2004-06-25. Archived from the original on 2016-06-16. Retrieved 2016-06-16.
- ^ "Computer pioneer dies". CNN. 2004-06-24. Archived from the original on 2004-12-04. [1][permanent dead link]