What is COBOL, the high-level programming language that is behind biggest-ever fall in IBM stock value


What is COBOL, the high-level programming language that is behind biggest-ever fall in IBM stock value

COBOL is in the headlines again, and this time it is because of artificial intelligence (AI) – sparking conversations with tools emerging that claim to translate legacy code and, with it, solve the modernization challenge. On February 23, IBM’s stock suffered its worst single-day drop in over 25 years after AI startup Anthropic claimed its Claude Code tool could automate the modernisation of COBOL — the decades-old programming language that underpins IBM’s mainframe business – wiping roughly $40 billion off the company’s market value. But to understand why that announcement rattled markets so severely, we need to get an idea on what COBOL is and why it has refused to go away. In this article, we are explaining about this computer language and how it works.

What is COBOL?

COBOL stands for Common Business-Oriented Language and was created in 1959. It was partly drawn on the work of computing pioneer Grace Hopper and was built for a single purpose: processing business data. Payroll, transactions, administrative records. Sixty-six years later – in the AI age – it is still doing exactly that.Reports suggest that an estimated 95% of ATM transactions in the United States still rely on COBOL and it supports 80% of in-person credit card swipes. The Open Mainframe Project estimated in 2021 that roughly 250 billion lines of COBOL remain in active use at businesses worldwide, powering systems at banks, airlines and government agencies, and most of this code runs on IBM mainframes.

IBM

Why banks and other critical entities are still using ‘old tech’

Even after so many years, COBOL works extremely well for what it was designed to do – so well that replacing it has proved far more difficult and expensive than most organisations anticipated. Most computer science graduates are being trained on Python, Java, and cloud-native architectures. This is because maintaining COBOL systems is widely seen as problem as the pool of developers who understand the language has been shrinking for years. During the COVID-19 pandemic, several US states scrambled for COBOL programmers when unemployment systems buckled under sudden demand.Banks have attempted multi-year migration projects to move off COBOL, and some of those efforts ended in widespread service disruptions and regulatory fines. The US Internal Revenue Service only recently began a transition from COBOL to Java.

What Anthropic actually claimed

In a blog post on February 23, Anthropic said its Claude Code tool can map dependencies across thousands of lines of COBOL – essentially meaning that the shrinking developers who understand the language can be addressed. This includes document workflows, flag risks, extract business logic, and generate translations to modern languages like Java or Python can be done all within weeks rather than the years such projects have traditionally required.Anthropic’s central argument is that the real expense in COBOL modernisation has always been comprehension, not rewriting. If AI can make the analysis fast and cheap, it fundamentally changes the economics of the entire exercise.

IBM Stock crash

Why IBM stock crashed

IBM owns COBOL’s mainframe platform the language runs on and it earns recurring revenue from mainframe hardware, software licences and services tied to COBOL workloads. The company has working to modernise its strategy around COBOL rather than replace it, connecting legacy systems to cloud applications and offering COBOL programs as APIs. So, if an external AI tool can handle what developers have traditionally been paid to do, it threatens a core pillar of IBM’s business model. The market reacted accordingly.

Here is IBM’s technical explanation on how COBOL works

COBOL: Common business-oriented language (COBOL) is a high-level, English-like, compiled programming language that is developed specifically for business data processing needs.COBOL was designed with optimal versatility in mind; its verbosity enables programmers to use a readable, easily maintainable programming language that can function across mainframe computers and operating systems. In fact, it was one of the first programming languages that the American National Standards Institute (ANSI) and International Organization for Standardization (ISO) standardized.One of COBOL’s biggest strengths is its strong support for large-precision fixed-point decimal calculations, a feature not necessarily native to many traditional programming languages. This capability helped set COBOL apart and drive its adoption by many large financial institutions.In some cases, COBOL modernization can involve translating COBOL code into a newer programming language. But an exclusive focus on language translation ignores the platform component: what the application runs on and integrates with. A comprehensive COBOL modernization strategy must include systems-level engineering that solves for data architecture redesign, runtime replacement and transaction processing integrity, in addition to other platform considerations.History of COBOLCOBOL was developed by a consortium of government and business organizations called the Conference on Data Systems Languages (CODASYL), which formed in 1959. Partly derived from FLOW-MATIC, a language created by computer science pioneer Dr. Grace Hopper, COBOL was created as part of a US Department of Defense initiative pushing for a programming language that could work across operating systems (Linux®, Windows, Unix, z/OS®, etc.) and hardware environments.

COBOL was developed by a consortium of government and business organizations called the Conference on Data Systems Languages (CODASYL), which formed in 1959. Partly derived from FLOW-MATIC, a language created by computer science pioneer Dr. Grace Hopper, COBOL was created as part of a US Department of Defense initiative pushing for a programming language that could work across operating systems (Linux®, Windows, Unix, z/OS®, etc.) and hardware environments.

IBM

The first version of the COBOL programming language was released in 1960. And though COBOL programming was originally intended to serve as a stopgap measure, the DoD quickly realized its usefulness and mandated computer manufacturers to offer it.COBOL was ultimately standardized as a computer language in 1968, after which COBOL programmers implemented several revisions and modernizations, including COBOL-61, COBOL-68, COBOL-74 and COBOL-85. COBOL 2002 aimed to make COBOL applications more compatible with modern software development practices by introducing object-oriented features and other advanced programming paradigms to the language. This version, however, suffered from lack of support and user demand for its new features. COBOL 14 introduced new changes, including replacing portable arithmetic results with IEEE 754data types, and the latest standard, COBOL 2023, delivered additional new features focused on improving COBOL’s interoperability with modern systems.COBOL structureThe COBOL program has a hierarchical structure that comprises divisions, sections, paragraphs, sentences, verbs and character strings. The divisional nature of a COBOL system (which comprises four divisions) enables a distinct separation of concerns within COBOL programs.COBOL divisions are as follows:Identification divisionThe identification division is the first division of a COBOL program—and a mandatory one. It assigns the program a name and provides other identification information like author, date written and a brief description of the program’s purpose.COBOL programs need a PROGRAM-ID paragraph to function within the identification division. For example:IDENTIFICATION DIVISION.PROGRAM-ID. YourProgramNameAUTHOR. Your nameDATE-WRITTEN. YYYYMMDDCOMMENT. “Short description of the program”

IBM and Anthropic

Environment divisionThe environment division specifies the runtime environment for a program and defines the input and output resources it will use. It’s subdivided into two sections.Unsurprisingly, the configuration section provides information about the system configuration, including the computer and compiler features it’s using. However, due to advancements in compiler tools, configuration sections have become somewhat obsolete in modern COBOL systems, which can typically infer and automatically adapt to their environment.The input-output section specifies the files and associated devices that the program can interact with. It includes the FILE-CONTROL paragraph—which maps file names within the program to external files—and the I-O-CONTROL paragraph that typically contains optimization or sequencing information for input-output operations.

Unsurprisingly, the configuration section provides information about the system configuration, including the computer and compiler features it’s using. However, due to advancements in compiler tools, configuration sections have become somewhat obsolete in modern COBOL systems, which can typically infer and automatically adapt to their environment.The input-output section specifies the files and associated devices that the program can interact with. It includes the FILE-CONTROL paragraph—which maps file names within the program to external files—and the I-O-CONTROL paragraph that typically contains optimization or sequencing information for input-output operations.

IBM

Data divisionThe data division houses all variable, file and constant definitions for the program. Like the environment division, the data division is subdivided.The file section lists every file that the program will read from or write to. A file description entry defines each file and describes the structure of the records in the file.The working-storage section defines variables that maintain their values throughout the run of the program—including counters, accumulators, constants and any other data storage that isn’t relevant to I-O files.Introduced in later iterations of COBOL, the local-storage section defines variables allocated upon deployment of the program or method and deallocated upon termination, making local-storage especially useful for recursive algorithms and reentrant programs.Finally, the linkage section defines data items that pass from one program to another.Procedure division and additional componentsThe procedure division contains the executable code of the program, that is divided into paragraphs and sections that structure the code into code blocks for better readability and easier maintenance.Every division of a COBOL system can include sections and paragraphs, which are analogous to sections and paragraphs in human languages. Sections are the named, logical subdivisions within each division that contain one or more paragraphs; they serve as modular units of code that can be called or invoked within the program.Paragraphs are collections of sentences—the smallest executable units in a COBOL program—that serve a particular function and are identified by a unique name. Each COBOL statement or sentence within a paragraph starts with a COBOL verb (like MOVE, DISPLAY and ADD) that indicates how the code should be run.The most basic and indivisible unit of the COBOL language is a character. Character strings are characters or sequences of contiguous characters that form a COBOL word, literal or comment-entry, delimited by separators.COBOL syntaxCOBOL’s English-like syntax is self-documenting and nearly self-explanatory, with an emphasis on verbosity and readability. This feature sets it apart from terser languages, like FORTRAN. It can also support several different data types (numeric, alphanumeric and edited data, for example), but it relies on a few additional syntactical components to execute a program.Sentences and statementsSentences are lines of COBOL code that consist of one or more statements terminated by a period. Statements, however, are the individual instructions that orchestrate file handling and data handling processes (by using verbs like ADD, START, DISPLAY and WRITE, among others).For instance, MOVE statements transfer data from one part of the system’s memory to another; COMPUTE statements perform arithmetic operations and store the results as variables; and READ statements retrieve records from input files.ClausesClauses are components of statements that can modify or qualify how a statement is executed. A picture clause like “PIC 9(3),” as one example, defines a numeric variable that can hold up to three digits.Control structuresIterative and conditional control structures in COBOL enable the system to control data flow.IF … ELSE structures, for example, implement conditional logic in COBOL so the program can execute different blocks of code depending on an evaluation of system condition. And the PERFORM statement executes a paragraph or section a specified number of times or until a condition is met, similar to loops in other programming languages.SubprogramsCOBOL can facilitate modular programming by using subprograms, which are deployed from the main program or other subprograms. Whereas internal subprograms are defined within the same source code as the calling program (written in the procedure division), external subprograms are compiled separately and linked as needed.

COBOL ‘massacre’: IBM not alone

IBM isn’t alone-AI disruption fears are wrecking havoc on the entire software industry as cybersecurity heavyweights like CrowdStrike and Datadog slumped after Anthropic unveiled a separate security scanning feature in Claude Code. A major software ETF has now shed 27% this year-its steepest quarterly decline since the 2008 financial crisis.The pattern is becoming predictable: an AI company drops a new capability, and investors dump the legacy names that capability threatens. Along with IBM, consulting firms, services giants and enterprise software vendors are all being repriced on the assumption that AI shrinks the addressable market for their products.Whether Anthropic’s COBOL claims hold up at enterprise scale-where decades of undocumented business logic, regulatory requirements and organisational inertia complicate every migration-remains an open question. But Wall Street isn’t waiting to find out. The market has decided that the era of expensive, multi-year legacy modernisation projects is ending. The only debate left is how fast.



Source link

  • Related Posts

    Alpine Divorce: What is an ‘Alpine Divorce’? The chilling viral breakup trend that is shocking social media

    While divorces and breakups have become quite normal in modern relationships, a creepy new phrase is now going viral on social media: “Alpine divorce.” What sounds like a quirky ski…

    Elon Musk joins Pentagon in slamming Claude-maker Anthropic, says: Anthropic hates…

    Elon Musk has joined the Pentagon in criticizing AI firm Anthropic, accusing it of “hating Western Civilization.” This follows a dispute over Anthropic’s refusal to allow its AI, Claude, to…

    Leave a Reply

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