Cobol: Grace Hopper's gift to the world of business

Cobol: Grace Hopper's gift to the world of business

Summary: Today would have been the 107th birthday of pioneering computer scientist Grace Hopper. Cobol, the language she helped create, still powers software used by businesses today.

SHARE:
17

More than a century after the birth of pioneering computer scientist Grace Hopper the programming language she helped establish, Cobol, still underpins software used by modern businesses.

Cobol — COmmon Business-Oriented Language — code was the backbone of batch and transaction processing on mainframes in large organisations for decades and fulfils this role to this day, on what would have been Hopper's 107th birthday.

While the number of organisations running Cobol has decreased, legacy applications remain — particularly in banks, government agencies and other conservative organisations adverse to the risk that comes with replacing critical system software.

Why has Cobol lasted for so long? Those still working with the language think its persistence is partially due to the type of computing tasks that Cobol is suited to, core business logic, which is slow to change.

"Largely speaking, you don't really want the business logic to change that much. Rules do change, but actually, most business, if they are certainly transaction orientated, their business is the system. The bit that is unique about them is wrapped up in those systems," Stuart McGill, chief technology officer and general manager of Borland for Micro Focus told ZDNet recently.

As the number of developers who cut their teeth on Cobol dwindle, and universities take Cobol off their curriculum, demand for programmers with the skills to maintain legacy Cobol applications is increasing.

Hopper served as the technical consultant to the committee that defined Cobol — whose specification was inspired by the FLOW-MATIC language developed under her. The syntax of Cobol was informed by her belief that computers should be able to be programmed in languages closer to English than to machine code or assembly.

Hopper served with the US Navy, where she rose to the rank of rear admiral. During her time with the service she worked on some of the world's earliest computers, including the Harvard Mark I, a fifty-one foot long, eight foot high, glass-encased electromechanical calculator. This hulking machine could perform three additions or subtractions every second.

Hopper is also sometimes credited with coining the term computer bug when she traced an error in the Mark II computer to a moth trapped in a relay.

Further reading

Topic: Enterprise Software

About

Nick Heath is chief reporter for TechRepublic UK. He writes about the technology that IT-decision makers need to know about, and the latest happenings in the European tech scene.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

17 comments
Log in or register to join the discussion
  • COBOL is a fine language

    Remember learning a bit of it at school (though my focus was FORTRAN.) There is no reason it needs to die out.

    Some of its design goals were carried out so admirably that nothing has ever improved on it (it is easily the most human readable programming language, even if it isn't necessarily easier to write.)
    Mac_PC_FenceSitter
    • COBOL is easy to write....

      ...it's just so verbose it takes a bit longer. I always thought the extra time to write was worth it, since the debugging usually went faster than something like C ( at least for me ).
      alsw
      • Not only that

        learning COBOL teaches the discipline, which most of the script kiddies these days lack.
        Ram U
  • A former co-worker of mine has a Hopper nano-second wire

    He got it at one of her lectures. I always envied him for that.
    FrankInKy
    • Lucky him

      I met Ken Thompson once, and I felt I climbed Everest that day. :D
      Ram U
      • Wonder what Ken T would have said about Cobol?

        I'm sure it wouldn't have been complimentary (unless he used it as a negative example)
        lkarnis@...
    • I have one of those!

      Was privlidged to see Admiral Hopper speak in Denver Many years back. She was quite the inspiration!
      IT Observer
  • Try debugging...

    a large application built with Javascript and then you will see why COBOL was used for developing business applications.
    pjc158
    • Javascript: the cigarette smoke of software development

      Debugging it sure to put you in an early grave (from stress!)
      Mac_PC_FenceSitter
    • LoL, I agree

      the effective way of debugging JavaScript code is document.write at every line and no tool can beat it. ;-)
      Ram U
    • That's

      why I program mostly in C# these days ...
      roteague
  • COBOL is an easy language to use

    I remember taking a COBOL class when I was completing my Business degree way back in the early 80's. I remember it being a very easy language to write in, perhaps too easy. We were encouraged to write flow charts and other documentation before sitting down at the terminal to input our programs. Being a rather lazy student, I chose to just sit down and start typing without creating the recommended documentation. Yes, the language was verbose, but was so easy to read and debug, that I was able to get my programs working correctly with only a few minor changes after the initial input. I only received a B for the class, probably because my code was not nearly as efficient as it should have been.

    My laziness in coding, aided by COBOL's ease of use, eventually burned me. The day before spring break, I sat down at a terminal in the lab and spent about 8 hours typing in code for a project that was due immediately after break. After making sure the program worked and saving it, I forgot about it until the Monday after break. Of course I had no documentation of what I had input. The Monday after spring break, I discovered my program had completely disappeared due to some hard drive issue on the IBM main frame. With no documentation, I had to recreate the program from scratch. I learned the hard way to always document what I was doing.
    timdor
  • Bugs existed before Hopper

    The term "bug" was around before she famously pasted the moth found in a relay to the log book. It was early nerd humor that has taken on a mythological (mothological?) life of its own.
    BrainiacVI
  • ossification of business logic

    Businesses that don't invest in their tech people will eventually change from saying "you don't really want the business logic to change that much" to "we can't change the business logic, because there is no one left who knows how to."
    Reality-based
  • Dijkstra on Cobol

    "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence." (1968) --Dijkstra

    Personally, I agree. 'Add A to B giving C.' - Really? I first got a look at Cobol in 1972 after looking at Fortran and Basic. Even then I could tell that it was 'deficient' (no subroutines, all variables being global in scope, etc). Attempts to create 'Object Oriented Cobol' fizzled. Best to relegate this dinosaur to the museums where the machines that ran Cobol also belong.
    lkarnis@...
    • Dijkstra was an azz, and COBOL was (and is) successful despite him and you.

      Nobody writing good COBOL, and who had to answer to supervision, could ever get away with writing "Add A to B giving C". I never did, and didn't know anyone that did. I would write something along the line of "Add Product-Price, Product-Tax, giving Order-Total; or Order Total = Product-Price + Product-Tax.

      Exaggerations such as yours, just indicates that you didn't really know anything about COBOL.

      COBOL had everything required of a good language construction, and still does. It had subroutines, and paragraphs, and sentences, and clauses, and keywords, and definitions for many different data types and variables.

      COBOL has had Object Oriented compilers for a couple of decades now. The "dinosaur" has been upgraded, and it works as advertised, and will continue being used for perhaps another 50 years, and perhaps more, if someone smart were to realize that, the ideas behind COBOL were good 60 years ago, and can still work in the future. No other language is as easy to learn (yes, I said easy), and as simple to write, and as easy to debug, and as easy to read and understand without even knowing anything about programming. I say those things even as I myself have moved on to C and Java and C++ and C# and other "more current" languages. I used to code in assembler language and other low-level languages, but, when I needed to get things done quickly, COBOL was my go to language. Nothing else was or is as good OVERALL. I say that coming from an analytical approach, since developing a system or application, is more than just coding and/or bragging about coding ni the more cryptic languages. Cryptic is still a fault of many "modern" languages.
      adornoe
      • @adornae .. entitled to your views

        as much as anyone.

        COBOL has served business, enterprise & .edu's with great regard for as long as it has for it's versatility. But time marched on and other languages evolved and were implemented that built upon the lessons of the pioneer languages such as COBOL.

        I think there's more than enough room in the developer world for COBOL (OO), C++, Java - and the many other coding languages that exist.

        When i was at college, one of the Faculty of Business stream lecturers i had was a COBOL programmer between 1969 - 1986. Like you, he had nothing but the highest praise for the language.

        As for me? My particular coding preference is Java.
        thx-1138_