COBOL celebrated its 50th birthday on September 18, 2009. Many developers see COBOL as a relic, a dying dinosaur, or a stodgy language that has been superseded by more powerful systems. I believe that viewpoint as being uninformed. In honor of COBOL's 50th birthday, here's an overview of COBOL's history and place in the current development landscape.
COBOL was designed by the late, great Grace Hopper. Ms. Hopper had an extraordinary influence on the computing industry, including writing the first compiler, the "A compiler." In addition, she served in the U.S. Navy, eventually attaining the impressive rank of rear admiral; there is even a U.S. Navy destroyer named after her in honor of her service.
COBOL was designed by committee, including representatives from the three government agencies and six major companies. The initial seed was planted in April 1959. On September 18, 1959, the committee picked "COBOL" for the name, and by the end of 1960, COBOL compilers had been completed and working programs had been made. (Thanks to Wikipedia for information about COBOL's history.)
COBOL is an interesting language. Originally, it did not have many of the features that we have come to rely upon. For instance, you would not expect to find object oriented capabilities in 1959, but there were not even local variables then. The structure of a COBOL program is also different from what you would expect, being divided into different "divisions," each of which serving a particular purpose. COBOL is best known for batch processing, in which large amounts of data are fed in and acted upon on a regular basis. In recent years, COBOL has undergone many changes and adapted to the needs of modern programmers, including adding object-oriented programming capabilities.
COBOL applications run the world
The average person deals with a COBOL-powered system 13 times a day. ATMs, inventory systems, airline ticketing, and health insurance all run on COBOL.
COBOL has been ported to numerous platforms, and currently runs on everything from traditional mainframes to Windows PCs on the .NET Framework. Forrester Research analyst Mike Gilpin says, "32% of enterprises say they still use COBOL for development or maintenance." That is remarkable penetration for a language that has been around so long and that has been supposedly "superseded."
In fact, I recommend COBOL as a job skill for developers looking for a long-term, stable career. The simple truth is the COBOL applications out there cannot be replaced. It is an impossible task in reality. In and of itself, this would not necessarily mean a strong job market. But for a variety of reasons, fewer and fewer colleges are giving their students exposure to COBOL, and new programmers have a negative perception of it and avoid it, meaning that the pool of new programmers is quite small. To make matters worse, the COBOL workforce is aging rapidly, and these developers are transitioning to management, retiring, and dying faster than they can be replaced. Meanwhile, new developers on these projects can take years to become fully acquainted with what it takes to maintain a million line application. This all adds up to a great environment for someone looking for a steady job over the years to come.
Micro Focus has put together an amusing video about COBOL's start (well, it's amusing if you're a geek — I'm sure my wife wouldn't enjoy it). Visit the COBOL @ 50 site to celebrate this milestone.
Related TechRepublic resources
- The resurgence of COBOL
- The resurgence of COBOL: Podcast with Arunn Ramadoss of Micro Focus
- The 10 biggest moments in IT history (the development of COBOL is #1 on this list)
J.JaDisclosure of Justin's industry affiliations: Justin James has a contract with Spiceworks to write product buying guides. He is also under contract to OpenAmplify, which is owned by Hapax, to write a series of blogs, tutorials, and other articles.
———————————————————————————————————————————-Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.