COBOL Is the Asbestos of Programming Languages


Early in the The Covid-19 pandemic, the governor of New Jersey made an unusual admission: He would run out of COBOL developers. State unemployment insurance systems were written in 60-year-old programming language and needed to be updated to handle hundreds of thousands of claims. The problem was, few government employees knew how to do it. And the conflict went beyond New Jersey, just one of many states that relied on these weak systems. By one rough count, COBOL’s inefficiency cost the US GDP $105 billion in 2020.

You’d think New Jersey would change its system after this – and that Covid was COBOL’s last gasp. Not at all. The state’s new unemployment system came with several quality-of-life improvements, but on the flip side, it was still enabled by the old language’s central system.

COBOL, short for Common Business-Oriented Language, is the most widely adopted computer language in history. Of the 300 billion lines of code written by the year 2000, 80 percent of them were in COBOL. It is still widely used and supports a large number of government systems, such as motor vehicle records and unemployment insurance; on any given day, it can handle something in order of worth 3 trillion dollars of financial transactions. I think of COBOL as a kind of digital asbestos, almost ubiquitous at once and now so mysterious, that it’s so hard to get rid of.

COBOL was first proposed in 1959 by a committee consisting of most of the American computer industry (including Grace Hopper). It called for “specialization in a common business language for digital automation computers” to solve a growing problem: the cost of programming. Programs were written specifically for a specific machine, and if you wanted to run them on something else, that meant almost rewriting them. The committee approached the Department of Defense, which gladly accepted the project.

COBOL’s structure set it apart from other languages ​​then and now. It was intended to be written in plain English so that anyone, even non-programmers, could use it; the symbolic mathematical notation was added only after considerable discussion. Most versions of COBOL allow the use of hundreds of words (Java allows only 68), including “is,” “then,” and “for,” to make writing easier. Some have even said that COBOL was intended to replace computer programmers, who in the 1960s occupied a unique position in many companies. They were champions of technology that many people could develop as well. its own documentation, saving time for developers and making it easier to maintain in the long term.

But what did it even mean to read? Episodes are not books or articles; they are a set of prescriptive conditions. While COBOL could break down the complexity of a single line of code into something anyone could understand, the difference was broken down into programs that ran into thousands of lines. (It’s like an Ikea assembly manual: Any given step is simple, but somehow the thing is still not connected.) Furthermore, COBOL was implemented with a piece of logic that had grown to be despised: the GO TO statement, an unconditional branching procedure that sent you rocketing from one part of the program to another. The result was a “spaghetti code,” as the developers like to say, that made personal storage out of the question.

Many computer scientists had issues with COBOL from the beginning. Edsger Dijkstra strongly resented it, saying, “The use of COBOL cripples the mind; therefore its teaching should be considered a criminal offense.” Dijkstra similarly hated the GO TO statement, saying that it made planning difficult to understand. There was a degree of real absurdity: COBOL was often looked down upon as a utility language that was meant to solve boring problems.

Jean Sammet, one of the original designers, saw it differently—language had the difficult task of representing complex things, such as social security. Or as another patron wrote, “Sadly, there are many business application programs written by programmers who have never had the benefit of a well-taught COBOL.” Good COBOL was scripting, but it depended heavily on custom programming. Fred Gruenberger, a mathematician at the Rand Corporation, said: “COBOL, in the hands of a master, is a wonderful tool—a very powerful tool.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *