IBM System/360 Languages for Visual Studio CodeLanguage Server Protocol implementation for IBM System/360 Operating System COBOL F (1968) and PL/I F (1965), the programming languages that have been quietly running civilisation since before humans walked on the Moon. The Machine That Changed EverythingOn 7 April 1964, IBM announced the System/360. It was, without exaggeration, the most significant product launch in the history of computing. Before the 360, every computer was an island. Programs written for one machine wouldn't run on another. Businesses bought a computer, wrote their software, and then faced an agonising choice when they needed more capacity: throw away everything and start again, or limp along with inadequate hardware. IBM bet the company—literally, $5 billion in 1960s dollars—on a radical idea: a family of compatible computers. The smallest 360 could run the same programs as the largest. A business could start small and grow without rewriting a single line of code. They were right. Within two years, IBM had orders for over 1,000 systems. Within a decade, the 360 architecture dominated business computing worldwide. Today, sixty years later, the direct descendants of the 360, the z/Series mainframes, still process the majority of the world's corporate data. The 360 didn't just change computing. It changed what was possible. Banks could offer instant account enquiries. Airlines could confirm reservations in seconds. Governments could process millions of tax returns. Hospitals could track patient records across departments. The software that made all of this possible was written in two languages: COBOL and PL/I. The LanguagesCOBOL F (1968)COBOL—Common Business Oriented Language—was designed in 1959 by a committee that included Grace Hopper, the woman who had previously invented the compiler. The design goal was simple: a programming language that read like English, so that business managers could understand what their programs did. IBM's COBOL F was the full implementation for the System/360, described in publication C28-6516-8 (November 1968, Ninth Edition). It was called "F" for "Full," as opposed to COBOL E ("Essential"), a subset for smaller systems. COBOL F features:
Today, COBOL processes an estimated $3 trillion in commerce daily. More than 95% of ATM transactions involve COBOL code. The US Social Security Administration alone has over 60 million lines of COBOL in production. PL/I F (1965)PL/I—Programming Language One—was IBM's attempt to create one language that could do everything. Scientific computing like FORTRAN. Business processing like COBOL. Systems programming like assembly. Real-time control. All in one language. The first PL/I specification was published in July 1965 as Form C28-6571-1. It was phenomenally ambitious: block structure, dynamic storage allocation, exception handling, concurrent programming, compile-time macros, and more. Features that wouldn't appear in other languages for decades. PL/I F features:
PL/I never achieved COBOL's dominance in business, but it found a permanent home in systems programming. The MVS operating system—the ancestor of today's z/OS—was written largely in PL/S, a systems programming dialect of PL/I. If you've ever used an ATM, your transaction was processed by software written in a language descended from PL/I. Why These Languages Still MatterThe New Zealand Banking StoryIn 1966, the New Zealand government announced that the country would convert from pounds, shillings, and pence to decimal currency on 10 July 1967. Every bank account, every price tag, every financial system would need to change. The banks responded by purchasing IBM System/360 computers. They wrote their core ledger systems in COBOL and PL/I. On D-Day (Decimal Day), the conversion proceeded smoothly. The new systems worked perfectly. And then... they kept working. The Bank of New Zealand's Core Ledger system, first deployed on hardware purchased in 1965, continued running. The IBIS modernisation project in the 1980s attempted to replace it; the project failed spectacularly, costing hundreds of millions of dollars. The old system kept running. In the 1990s, Y2K remediation consultants examined the code. They made the necessary changes. The system kept running. In the 2000s, new internet banking frontends were built. They connected to the old system. The old system kept running. Today, in 2025, variations of these systems are still processing transactions. The original programmers have long since retired. The documentation exists partly in filing cabinets, partly in someone's garage, partly in institutional memory. The code works, and nobody wants to be the person who breaks something that handles actual money. The Y2K RevelationThe Year 2000 problem revealed something unexpected: the people who understood these systems were invaluable. When organisations realised that their two-digit year fields (PIC 99 in COBOL) would roll over from 99 to 00, they faced a choice. They could rewrite everything—a task that had proven impossible or ruinously expensive every time it was attempted. Or they could find the people who understood the existing code. COBOL programmers came out of retirement. PL/I specialists were tracked down. They made the necessary changes, tested them thoroughly, and went back to their gardens. The lights stayed on. The banks kept running. The aeroplanes didn't fall from the sky. And then, in the years that followed, something remarkable happened: nothing. The systems kept working. The Y2K patches became part of the codebase. The century changed and the code adapted. Those systems are still running now. The Y2K fixes are still working. They'll keep working until Y10K, which is someone else's problem. FeaturesCOBOL F Support
PL/I F Support
Installation
File ExtensionsCOBOL F
PL/I F
Language ExamplesCOBOL F
PL/I F
Documentation SourcesThis extension was developed using official IBM documentation: COBOL F (1968)
PL/I F (1965)
All documentation preserved by bitsavers.org, without whom vast portions of computing history would have been lost to bit rot and corporate indifference. Configuration
Requirements
Known Limitations
The ProgrammersBehind every line of COBOL and PL/I that still runs today, there was a programmer. They worked with punched cards and paper tape. They debugged by reading hexadecimal dumps. They documented their code in three-ring binders that now live in archives, attics, and landfills. Many of them are gone now. Others have retired to gardens and grandchildren. A few still consult, called upon when decades-old systems develop unexpected behaviours and nobody else remembers how they work. These programmers built the infrastructure of modern finance, healthcare, government, and commerce. They did it with tools that would seem primitive today, under constraints that would seem impossible. They got it right, so right that their code is still running. This extension is, in a small way, for them. The unknown programmers who wrote the code that still runs the world. LicenceCopyright 2025 Zane Hambly Licensed under the Apache Licence, Version 2.0. See LICENSE for details. ContributingContributions welcome. If you've maintained System/360 code and have insights about dialect variations, edge cases, or implementation quirks, your knowledge would be invaluable. Pull requests should include:
Related ProjectsIf you've found yourself oddly moved by the thought of code that has been running since 1965, you might appreciate:
ContactQuestions? Found an issue? Currently maintaining a System/360 codebase and need someone who understands that your production system predates the existence of most programming languages? zanehambly@gmail.com Response time faster than a batch job on a lightly loaded 360. Available for consultations and/or a cuppa tea. Will discuss COBOL over biscuits. Can explain why your PL/I code does that thing it does. Speaks fluent hexadecimal dump. Has opinions about GOTO that may differ from yours but will keep them to himself if you're buying. Timezone: New Zealand (UTC+12/+13), which means I'm already living in your tomorrow. The future looks fine. Your legacy code is still running. Acknowledgements
|