Saturday, March 24, 2007

100 years of Grace Hopper

For most people who work in IT, the programming language COBOL is as dead as the dodo.

Yet Grace Hopper, the woman credited with establishing COBOL (Common Business-Oriented Language) as the language of business, would be pleased to know that 100 years after her birth, the language still underpins many applications that keep modern businesses going.

This Saturday is the centennial of Grace Hopper, who was born on December 9, 1906. Often referred to as "the mother of COBOL," her contribution to the theory and practice of programming is commonly appreciated as enormous. She is credited, among other achievements, with being the first person to develop a compiled program in an age when computers worked by running programs that were interpreted one line at a time.

Hopper got her first degree in mathematics and physics at Yale University and her master's in the same subjects. She taught at Vassar College before joining the U.S. Naval Reserve in 1943 and working on one of the earliest electronic calculators, the Harvard Mark 1. She was in her element working as, effectively, one of the world's first computer programmers--and she was very good at it. (For a comprehensive bio, read Wikipedia's entry on Hopper.)

She continued working on the Harvard Mark 1 and Mark 2 before moving to another company in 1949 to work on the Univac 1, where she developed the compiler.

After returning to the Navy, she worked on validating software written in the new language, COBOL, with which her name would be indelibly associated. Her greatest achievement in computing was here, as she gradually evolved the idea that software should be easy to use instead of being a long string of mathematical functions and notations.

From that point came the principle that programs should be easy enough for businesspeople to use and understand; in principle, COBOL is for the businessperson, not the scientist.

"COBOL is still in use today and plays a part in those programs that keep businesses running," said Julian Dobbins, director of product management at Micro Focus, one of the key companies still developing for the language. "(Analyst firm) Gartner reckons that 75 percent of business transactions are still done in COBOL."

Banks and other financial institutions are chiefly accountable for this high figure. Systems that run banking transactions, such as those used by ATMs, were largely written years ago and are still running. They are economical and efficient, and COBOL code is easy to fix if these go wrong, so, the argument goes, why change them?

As for new applications, there is little, if any, work still done in COBOL, with more modern languages, such as C++, having replaced it.

So why use COBOL today? "As a programming language, it was designed on sound principles," Dobbins said. "And you can take modern principles like Web services and service-oriented architectures (SOA), and find that it offers really very easy deployment."

But even Dobbins, who has used COBOL himself since his college days, admits that COBOL is stuck with a poor image. "I remember chatting with a programmer at a conference and talking about using COBOL in object-oriented apps," Dobbins recalled. "He said, 'Why would I want to do that? It would be like turbocharging an oxcart.' My response was to say that the world does not rely on oxcarts."

Dobbins sticks with the view that the world does rely on COBOL. Dobbins believes that the principles that make COBOL a sound language to this day are those first established by Grace Hopper and that 100 years after her birth, the world should continue to be grateful for them.

Hopper died January 1, 1992.