Micro Focus COBOL for .NET
A commercial COBOL implementation from Micro Focus that compiles COBOL to Microsoft's .NET Common Language Runtime, letting decades-old business logic run as managed code alongside C# and VB.NET.
Created by Micro Focus
Micro Focus COBOL for .NET is a commercial COBOL implementation that compiles COBOL source code to run on Microsoft’s .NET platform — the Common Language Runtime (CLR). Rather than treating COBOL as a relic to be replaced, it lets organizations take business logic that may be decades old and run it as managed code, side by side with C# and VB.NET, inside the same applications, class libraries, and runtime. First released in 2003 as part of the Micro Focus Net Express product, the technology later became the foundation of the company’s modern Visual COBOL product line.
History & Origins
A company built on retargetable COBOL
Micro Focus was founded in England in 1976, and from its earliest days the company specialized in something most COBOL vendors did not: making COBOL portable across very different machines. Its early CIS COBOL (Compact Intermediate Standard COBOL) compiled programs into a sequence of abstract machine instructions, which were then interpreted at run time. This intermediate-code architecture — built in the late 1970s — won Micro Focus a Queen’s Award for Industry in 1981 and, more importantly, gave the company deep institutional experience in pointing COBOL at new execution targets. That expertise mattered enormously when an entirely new kind of execution target arrived two decades later.
Microsoft .NET arrives
When Microsoft introduced the .NET Framework at the turn of the millennium, it brought with it a managed runtime (the CLR), a shared type system, and an intermediate language into which many programming languages could compile. For a company that had spent twenty-five years compiling COBOL to abstract machines, the CLR looked like a natural new destination. Around 2001-2002, Micro Focus publicly signaled its intent to build a Net Express plug-in for Visual Studio .NET, with the explicit goal of letting customers reuse existing, mission-critical COBOL as managed code on .NET servers instead of rewriting it.
A note on dates: Micro Focus’s announcement and early integration work date to roughly 2001-2002, but according to Micro Focus’s own history of the COBOL language, the first release of COBOL for .NET shipped in 2003 as part of Net Express. This page uses 2003 as the verified first-appearance year, while acknowledging the surrounding 2001-2002 announcement period.
The first .NET compiler: procedural COBOL as a class
When Micro Focus first targeted the .NET Framework, the focus was very much on traditional procedural COBOL. In practice, the compiler took a COBOL program and produced a .NET class: the contents of WORKING-STORAGE became the instance data for that class, and the PROCEDURE DIVISION became an instance method. Additional methods were generated for any ENTRY statements in the procedure division. This approach meant that ordinary, unmodified-looking COBOL could be packaged as a first-class .NET type — callable from any other .NET language — without forcing developers to rewrite it in an object-oriented style first.
Design Philosophy
The guiding principle behind COBOL for .NET is reuse over rewrite. The business rules encoded in mature COBOL systems — payroll calculations, interest accrual, actuarial models, regulatory logic — are often correct, exhaustively tested, and expensive to reproduce. The goal of compiling COBOL to the CLR is to preserve that logic exactly while granting it access to the modern platform around it:
- Managed execution. COBOL compiled to .NET runs under the CLR, gaining garbage collection, the .NET type system, and interoperability with the broader .NET ecosystem.
- Mixed-language solutions. COBOL assemblies can call, and be called by, C# and VB.NET code, so a COBOL component can sit inside an otherwise modern .NET application.
- Incremental modernization. Teams can put new .NET user interfaces, web services, or APIs in front of existing COBOL logic rather than performing a risky big-bang rewrite.
- Continuity of skills. COBOL developers continue to write COBOL — including familiar data structures and decimal arithmetic — while reaching the .NET class libraries.
Key Features
| Area | What COBOL for .NET Provides |
|---|---|
| Compilation target | Microsoft .NET Common Language Runtime (managed assemblies / intermediate language) |
| Paradigm | Procedural COBOL initially; later “managed COBOL” added object-oriented extensions |
| Interoperability | Two-way interop with C#, VB.NET, and other .NET languages within a single solution |
| Tooling | Integration with Microsoft Visual Studio (via Net Express, later Visual COBOL) |
| Data types | COBOL’s native fixed-point decimal arithmetic, alphanumeric data, and record structures |
| Modernization | Web, web-service, and API front ends over preserved COBOL business logic |
From procedural to “managed COBOL”
The 2003 release deliberately stayed procedural. Over the following years Micro Focus extended the dialect into what it calls managed COBOL — COBOL augmented with object-oriented syntax and the ability to consume the available .NET class libraries directly. This modernized dialect became central to Visual COBOL, launched in 2010. Crucially, the same managed-COBOL effort was also pointed at the Java Virtual Machine: shortly after the .NET work, Micro Focus asked whether it could do the same for the JVM, which led to COBOL for JVM, introduced with the Visual COBOL initiative around 2010 and reaching general availability with Visual COBOL 2010 R4 around 2011. The two dialects — .NET COBOL and JVM COBOL — were designed to be largely syntactically identical, so that a single modernized COBOL skill set could target either managed runtime.
Evolution
COBOL for .NET did not stand still after 2003. Its trajectory tracks Micro Focus’s broader COBOL tooling:
- Net Express era (2003-late 2000s). The .NET capability lived inside Net Express, Micro Focus’s Windows COBOL IDE. Net Express 5.0 (around 2006) worked with Visual Studio 2005 to bridge COBOL and the .NET Framework more closely.
- Visual COBOL era (2010 onward). Visual COBOL superseded Net Express as the strategic product, offering managed COBOL for .NET (inside Visual Studio) and, in parallel, COBOL for JVM (inside Eclipse). This is where procedural .NET COBOL grew into a fuller object-oriented, framework-aware dialect.
- Continued releases. Visual COBOL has tracked successive Visual Studio versions, with Visual COBOL 8.0 arriving in 2022 alongside cloud and container modernization features.
- New ownership (2023). OpenText completed its acquisition of Micro Focus in January 2023, bringing Visual COBOL and the .NET COBOL toolchain under its umbrella.
Current Relevance
COBOL for .NET occupies a specific, durable niche: enterprise application modernization. It is not a language a hobbyist downloads to learn COBOL — it is a commercial tool used by organizations that have large, valuable COBOL estates and want to extend their life on a modern, supported runtime. In sectors such as banking, insurance, and government, where COBOL still underpins core systems, the ability to recompile that code to the CLR — and to surround it with .NET web front ends and services — remains a pragmatic alternative to a full rewrite. The continued release cadence of Visual COBOL, now under OpenText, reflects that this is an actively maintained product rather than a historical curiosity.
Why It Matters
COBOL for .NET is a notable example of a much larger idea: that the language a program is written in and the runtime it executes on can be decoupled. By compiling one of the oldest business languages to one of the most modern managed runtimes, Micro Focus made it possible for code from the 1970s and 1980s to participate as a peer in 21st-century .NET applications. It also demonstrated the strategic value of Micro Focus’s long-standing abstract-machine architecture — the same retargeting expertise that produced CIS COBOL in the 1970s made COBOL-on-the-CLR feasible, and then COBOL-on-the-JVM after it. For the millions of lines of COBOL still running critical systems worldwide, that decoupling is not academic; it is what lets hard-won business logic keep running without being rewritten.
Sources for this article include Micro Focus’s own published history of the COBOL language and its evolution toward .NET and JVM targets, contemporary trade-press coverage of Net Express for .NET, and documentation for the Net Express and Visual COBOL product lines. Specific release years (notably the 2003 first release of COBOL for .NET, and COBOL for JVM, which was introduced with Visual COBOL around 2010 and reached general availability with Visual COBOL 2010 R4 around 2011) follow Micro Focus’s official documentation.
Timeline
Notable Uses & Legacy
Financial services modernization
Banks and insurers use COBOL for .NET to keep proven core-system business logic intact while exposing it through .NET front ends, web services, and ASP.NET applications rather than rewriting it from scratch
Legacy application re-platforming
Organizations moving off mainframe and proprietary midrange systems recompile existing COBOL to the .NET CLR, allowing the code to run on Windows servers as managed assemblies
Mixed-language enterprise systems
Development teams call between COBOL, C#, and VB.NET within a single .NET solution, letting COBOL components participate directly in shared .NET class libraries and frameworks
Government and public-sector systems
Long-lived public-sector applications written in COBOL are extended with modern .NET interfaces and web access while preserving the original, validated computational logic