Happy Birthday, COBOL

May 28, 2010

As an article at the Wired site reminds us, it was 51 years ago today that a meeting at the US Defense Department generated the initial impetus to the development of COBOL (an acronym for COmmon Business-Oriented Language), one of the first high-level computer programming languages (along with FORTRAN).   As its name implies, COBOL’s focus was to be on business data processing, just as FORTRAN was originally intended for scientific and engineering problems.  In both cases, the initial developers of the languages attempted to use syntax that would be familiar to the intended audience.  FORTRAN used a pseudo-mathematical notation (I am ignoring the issue of data types for the moment):

INCOME = SALES - COGS

COBOL might have represented the same computation as:

SUBTRACT COST-OF-GOODS-SOLD FROM SALES GIVING INCOME.

As this example might suggest, COBOL was a very “chatty”, not to say verbose, language.  One of the initial design ideas was that having programs written in a language that, at least superficially, resembled English would lead to clearer programs that could be read by non-technical users and managers.  This was a nice idea that, as far as I know, never amounted to much; it is hard enough to get non-technical people to read documentation that is written in actual English.  And I think most programmers would agree that, except in the initial learning stages, most significant errors are semantic, not syntactical.

Nonetheless, the introduction of COBOL and FORTRAN really was an enormous step forward for the craft of software development; the two languages shared the common idea that a program could be represented in a form that was independent of the particular machine on which it would be run.  They represented early steps toward the idea of standardized computing, an idea that IBM developed with the introduction of the System/360 series of compatible computers in 1964, and one that is a commonplace today.

One of the early champions of the COBOL project was Grace Hopper, an officer in the US Naval Reserve, who was a Vassar graduate with a degree in math and physics, and subsequently a PhD in math from Yale.  She was on the faculty at Vassar until 1943, when she obtained a leave of absence to enlist in the US Navy Reserve.  She worked with many of the pioneers in computing, including work with Howard Aiken at Harvard on the Mark I computer.   According to a story which may be apocryphal, she also coined the term “debugging” after a particular computer problem was found to be due to a moth squashed inside a relay.  I also feel reasonably sure that she is the only female Naval officer to have retired three times, in 1966, 1971, and 1986, the last time as a Rear Admiral.

The original COBOL language was criticized — not without reason — as being too wordy and as encouraging the development of wildly unstructured programs.  Edsger Dijkstra, structured programming advocate and author of the seminal paper, A Case Against the GOTO Statement, was not a big fan of COBOL:

The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.

A number of attempts have been made to introduce more structured language constructs into COBOL, but none of them has been notably successful.  Still, an awful lot of the world has been run on COBOL; although it may now miss the mark in terms of details, its development was an important milestone in the development of computing.


Don’t Touch Those Maps!

May 28, 2010

From time to time, various state legislatures make a bid to see who can pass the most ridiculous law.  (For many years, the Indiana legislature has had a strong competitive position, with its attempt in 1897 to set the value of pi [π] by legislation.)   Now, according to a report on the Nola.com Web site of the New Orleans Times–Picayune, the Louisiana  state legislature has made its own bid for fame in this area.

It seems that the House of Representatives in the Louisiana legislature unanimously [!] approved a bill submitted by State Senator Robert Adley.  The effect of the bill is to increase prison sentences for crimes committed with the use of a “virtual map”.

Adley’s bill defines a “virtual street-level map” as one that is available on the Internet and can generate the location or picture of a home or building by entering the address of the structure or an individual’s name on a website.

This would seem to include all of the usual suspects, such as MapQuest, Google Maps, and so on.  The bill would require that anyone convicted of a burglary who used a virtual map have at least one year added to his/her sentence.  Anyone convicted of an “act of terrorism” (whatever that is) would have a minimum of ten years added to the sentence.

Sometimes, with proposals that don’t make much overall sense, one can discern a sort of weird logic in the background.  In this case, I am at a loss to imagine even a crazy reason for this idea.   And, honestly, under the circumstances, I would think that the Louisiana legislature has more important issues to consider.


Follow

Get every new post delivered to your Inbox.

Join 30 other followers

%d bloggers like this: