Bemer has collaborated on many critical projects. He helped define the ASCII (American Standard Code for Information Interchange) characteristics, which allows computers to exchange text across disparate operating systems. He was also one of the creators of COBOL (Common Business Oriented Language) the first widely used, high-level programming language for business applications.

C O B O L   R E P O R T


Interview with Bob Bemer -
the Father of COBOL


This Time Cooking up the
Potential "Year 2000" Killer App
If Grace Hopper is considered the mother of COBOL, Bob Bemer should be considered the father. At an age (77) when most of us will already have been retired a decade or more Mr. Bemer puts in 80 hour plus work-weeks as he undertakes the task of building a new company, with a fearless new product, to help solve the Year 2000 problem. The name of his company is BMR Software Inc., and the name of the product is Vertex 2000.

Mr. Bemer’s accomplishments resonate so deeply one almost assumes they have been with us always, snatched out of the ether by a collective consciousness, instead of having been the creation of one man. A short list includes:

bullet helped create COBOL
bullet coined the word COBOL
bullet invented the ESCape sequence
bullet created the PICTURE clause
bullet helped create and standardize the ASCII character set
bullet created the backslash
bullet helped create the 8-bit per byte standard

If there is no "silver bullet" in software Mr. Bemer’s approach, to solving the Year 2000 problem, comes closer than most (please see the following article for a complete report on Mr. Bemer’s solution).

CR: Give us some of your background, if you would?

BB: I started out as a wartime mathematician for Douglas Aircraft. In 1949 I got my first look at a computer working for the Rand Corporation and never looked back. In 1958 I went to work at IBM. I was IBM’s chief of programming standards.

CR: What led to the creation of COBOL?

BB: The Department of Defense wanted a standard business language. Charlie Phillips, myself, and others started CODASYL (Conference on Data Systems Languages) to assist in the effort. This was in 1959. Also, there was one improvement in hardware after another at IBM. The opcode (operation code) structure changed every time. There was no way we could build software for every machine going out. So COBOL was in IBM’s interest too.

CR: Was Univac’s Flow-Matic the driving force behind COBOL.

BB: Flow-Matic was part of it. IBM brought to the table a language called COMTRAN, short for Commercial Translator, that contained many of the ideas found in COBOL. We had been working since 1958 on COMTRAN. COMTRAN was a competitor to Flow-Matic.

CR: How did you arrive at the name COBOL?

BB: Cobol to me has a nice round sound - a lyrical quality (drawing an imaginary hourglass in the air). The sound reminds me of a women’s figure.

CR: Are you saying that Cobol, the language that is often considered the epitome of design by committee and bureaucracy, was named with Venus de Milo musings in mind?

BB: Yes (laughing).

CR: I must say I've been programming for over 20 years in Cobol and never heard that one. What did Grace Hopper have to say about your metaphorical naming?

BB: She just laughed and said okay.

CR: I hate to ask what some of the other names for Cobol could have been. What led to the creation of ASCII?

BB: I surveyed the number of character sets and found 60. So I helped form BEMA (Business Equipment Manufactures Association) which was the beginning of the X3 committee which was tasked with the responsibility to define a standard character set.

CR: Here you are helping create the ASCII standard and IBM remains in the EBCDIC camp. What’s that all about?

BB: Originally IBM was supposed to move to ASCII. We had something called a P-bit that would allow machines to run either ASCII or EBCDIC. Learson was the CEO of IBM and he made the decision to stay with EBCDIC. A terrible mistake.

CR: Tell us about the Year 2000 solution you have developed.

BB: Basically our solution derails date-field operations and data at the object code level and puts a century with the date. The synthetic CPU examines every possible date operation running through the object code. For new data the century will be included, for old data a windowing technique is used. Because only some of the bits in a byte are used to store meaningful information the other bits can be used to indicate a decade-century. The binary representation we use handles packed as well as character data. The specially encoded date-fields are called "Bigits". Comparisons and computations between date-fields, with the included century, are then calculated in a subroutine correctly.

CR: Your solution therefore does not require changing any source code?

BB: Correct. Vertex can be included as a library at compilation time, or if the source code is not available, can be linked as object code at run-time.

CR: What do you say to the naysayers, like Leon Kappelman, who contend your solution will only take care of about 20-30% of the afflicted code?

BB: Our solution will solve 95-98% of the problem. We can’t fix programming errors. If your leap year calculation was flawed to begin with, it will stay flawed. The time necessary to manually fix most code is wasted. We have an automated solution. In addition, we save significant amounts of time in testing, and are substantially less expensive, about a third of the cost of other fixes.