COBOL Is the Asbestos of Programming Languages

2 hours ago 2

Early successful the Covid-19 pandemic, the politician of New Jersey made an antithetic admission: He’d tally retired of COBOL developers. The state’s unemployment security systems were written successful the 60-year-old programming connection and needed to beryllium updated to grip the hundreds of thousands of claims. Trouble was, fewer of the state’s employees knew however to bash that. And the situation went beyond New Jersey, conscionable 1 of galore states that depended connected these unwieldy systems. By 1 unsmooth calculation, COBOL’s inefficiencies outgo the US GDP $105 cardinal successful 2020.

You mightiness deliberation New Jersey would person replaced its strategy aft this—and that Covid was COBOL’s past gasp. Not quite. The state’s caller unemployment strategy came with a fig of quality-of-life improvements, but connected the backend, it was inactive made imaginable by a mainframe moving the past language.

COBOL, abbreviated for Common Business-Oriented Language, is the astir wide adopted machine connection successful history. Of the 300 cardinal lines of codification that had been written by the twelvemonth 2000, 80 percent of them were successful COBOL. It’s inactive successful wide usage and supports a ample fig of authorities systems, specified arsenic centrifugal conveyance records and unemployment insurance; connected immoderate fixed day, it tin grip thing connected the bid of 3 trillion dollars’ worthy of fiscal transactions. I deliberation of COBOL arsenic a benignant of integer asbestos, astir ubiquitous erstwhile upon a clip and present incredibly, dangerously hard to remove.

COBOL was archetypal projected successful 1959 by a committee comprising astir of the US machine manufacture (including Grace Hopper). It called for “specifications for a communal concern connection for automatic integer computers” to lick a increasing problem: the disbursal of programming. Programs were custom-written for circumstantial machines, and if you wanted to tally them connected thing else, that meant a near-total rewrite. The committee approached the Department of Defense, which happily embraced the project.

COBOL’s plan acceptable it isolated from different languages some past and now. It was meant to beryllium written successful plain English truthful that anybody, adjacent nonprogrammers, would beryllium capable to usage it; symbolic mathematical notation was added lone aft sizeable debate. Most versions of COBOL let for the usage of hundreds of words (Java permits conscionable 68), including “is, “then,” and “to,” to marque it easier to constitute in. Some person adjacent said COBOL was intended to regenerate machine programmers, who successful the 1960s occupied a rarified spot astatine galore companies. They were masters of a exertion that astir radical could hardly comprehend. COBOL’s designers besides hoped that it would make its ain documentation, redeeming developers clip and making it casual to support successful the agelong run.

But what did it adjacent mean to beryllium readable? Programs aren’t books oregon articles; they’re conditional sets of instructions. While COBOL could distill the complexity of a azygous enactment of codification into thing anybody could understand, that favoritism fell isolated successful programs that ran to thousands of lines. (It’s similar an Ikea assembly manual: Any fixed measurement is easy, but someway the happening inactive doesn’t travel together.) Moreover, COBOL was implemented with a portion of logic that grew to beryllium despised: the GO TO statement, an unconditional branching mechanics that sent you rocketing from 1 conception of a programme to another. The effect was “spaghetti code,” arsenic developers similar to say, that made self-documenting beside the point.

Plenty of machine scientists had issues with COBOL from the outset. Edsger Dijkstra famously loathed it, saying, “The usage of COBOL cripples the mind; its teaching should, therefore, beryllium regarded arsenic a transgression offense.” Dijkstra likewise hated the GO TO statement, arguing that it made programs astir intolerable to understand. There was a grade of existent snobbishness: COBOL was often looked down connected arsenic a purely utilitarian connection that was intended to lick boring problems.

Jean Sammet, 1 of the archetypal designers, saw it differently—the connection simply had the analyzable task of representing analyzable things, similar societal security. Or arsenic different defender wrote, “Regrettably, determination are excessively galore specified concern exertion programs written by programmers that person ne'er had the payment of structured COBOL taught well.” Good COBOL was so self-documenting, but truthful overmuch depended connected the circumstantial programmer. Fred Gruenberger, a mathematician with the Rand Corporation, enactment it this way: “COBOL, successful the hands of a master, is simply a beauteous tool—a precise almighty tool. COBOL, arsenic it’s going to beryllium handled by a low-grade clerk somewhere, volition beryllium a miserable mess.”

Read Entire Article