Est. 1984 Intermediate

OpenEdge

Progress OpenEdge ABL (formerly the Progress 4GL) is an English-like, database-integrated fourth-generation language for building and running mission-critical business applications, with its own embedded RDBMS and a lineage reaching back to the early 1980s.

Created by Progress Software Corporation (founded as Data Language Corporation by Joseph Alsop and co-founders Chip Ziering and Clyde Kessel)

Paradigm Multi-paradigm fourth-generation language (4GL): procedural and event-driven, with object-oriented extensions (classes, inheritance, interfaces) added in 2005
Typing Static and strong, with dynamic and late-bound features; source compiles to portable r-code executed by the ABL Virtual Machine (AVM)
First Appeared 1984
Latest Version OpenEdge 12.8 LTS (2024); 12.8.x maintenance updates continuing through 2025

OpenEdge — whose programming language is the OpenEdge Advanced Business Language (ABL), known for most of its history as the Progress 4GL — is a database-integrated fourth-generation language and application platform from Progress Software Corporation. It is designed for one purpose above all others: building and running business-critical data applications quickly, then keeping them running for decades. ABL pairs an English-like syntax with a tightly coupled, embedded relational database, so that reading and writing records is part of the language itself rather than a library bolted on top. Largely invisible to the wider programming public, OpenEdge quietly powers ERP, supply-chain and financial systems used by large numbers of organizations worldwide.

OpenEdge’s defining trait is integration: the language, the database, the runtime and the tooling are designed as one product. A developer can declare a query, loop over the resulting records, lock them, update them and display them — all in a few lines of the same language — without ever leaving ABL or hand-writing SQL.

History & Origins

OpenEdge traces back to Data Language Corporation (DLC), founded in 1981 in Bedford, Massachusetts by Joseph Alsop and his co-founders. Their goal was deliberately ambitious for the era: an architecture-independent fourth-generation language with an integrated database that ordinary business developers — not just systems programmers — could use to build real applications. The product, then called PROGRESS, first shipped commercially for revenue in 1984, running on UNIX and DOS, and combined the Progress 4GL with its own embedded relational database in a single environment.

The bet paid off. As minicomputer and early UNIX business computing grew through the 1980s, Progress’s promise of writing an application once and running it across different hardware and operating systems — together with a database you didn’t have to administer separately — made it attractive to independent software vendors (ISVs) building packaged business software. In 1987, the company renamed itself Progress Software Corporation to match its flagship product, and an ecosystem of vendors shipping vertical applications on the Progress platform took shape — a model that still defines OpenEdge today.

For roughly two decades the language was simply called the Progress 4GL. With the OpenEdge 10 generation in the mid-2000s, Progress unified its language, database and tools under the OpenEdge platform name, and in 2006 rebranded the language itself as the OpenEdge Advanced Business Language (ABL) — a deliberate move to shed the “4GL” label, which the industry had begun to treat as second-class compared with general-purpose languages.

Design Philosophy

OpenEdge is built around a small set of durable ideas, all in service of business applications:

  • The database is part of the language. ABL has record-oriented data access as a first-class construct. Statements like FOR EACH, FIND, CREATE and UPDATE operate directly on database records, with the compiler aware of the schema. This is fundamentally different from the SQL result-set model, where data access is an external API.
  • English-like readability. The syntax is verbose and keyword-driven by design (DISPLAY, MESSAGE, ASSIGN, FOR EACH … WHERE …), trading terseness for legibility so that business logic reads close to a description of what it does.
  • Architecture independence. From the start, the language and database were meant to run across many platforms, with the application insulated from the underlying machine — a portability promise that let customers move applications forward across hardware generations.
  • Integrated transactions and locking. Transaction scoping and a fine-grained record-locking model (EXCLUSIVE-LOCK, SHARE-LOCK, NO-LOCK) are part of the language, reflecting its focus on concurrent, multi-user business systems.
  • Backward continuity. Because OpenEdge customers run large, long-lived line-of-business systems, each release works hard to carry existing ABL applications forward rather than force rewrites.

Key Features

  • Integrated RDBMS. OpenEdge ships with its own relational database, tuned for the ABL access model, and can also connect to external databases such as Oracle and Microsoft SQL Server through DataServers.
  • Record-based 4GL data access. Direct, schema-aware statements for querying, navigating, creating and updating records, with built-in temp-tables and ProDataSets for in-memory and complex hierarchical data.
  • Procedural and object-oriented. ABL began as a procedural, event-driven language; since OpenEdge 10.1 (2005) it also supports classes, inheritance and interfaces, allowing a hybrid style where procedures and objects coexist.
  • Compiled to portable r-code. ABL source compiles to platform-independent r-code (an intermediate “p-code”) executed by the ABL Virtual Machine (AVM), which underpins the language’s cross-platform portability.
  • Application server and web services. The Progress Application Server for OpenEdge (PASOE) hosts ABL business logic and exposes it through REST, SOAP and web-service interfaces for modern, multi-tier and web-facing deployments.
  • Strong, late-bound typing. ABL is strongly typed with rich built-in data types (character, integer, decimal, date, datetime, logical, handles, temp-tables) alongside dynamic and late-bound capabilities.

A small taste of ABL’s record-oriented, English-like style:

1
2
3
4
5
6
/* Greet the world, then list active customers and their balances. */
MESSAGE "Hello, World!" VIEW-AS ALERT-BOX.

FOR EACH Customer NO-LOCK WHERE Customer.Active = TRUE:
    DISPLAY Customer.Name Customer.Balance.
END.

Here FOR EACH … WHERE iterates over database records that match a condition, NO-LOCK chooses the locking behavior, and DISPLAY renders the fields — all without writing a line of SQL or opening a separate database connection.

Evolution

OpenEdge has evolved by steadily modernizing its surface while preserving the applications already written on it. The early PROGRESS releases of the 1980s and 1990s established the integrated 4GL-plus-database model and the cross-platform r-code runtime. The product was known as the Progress 4GL through version 9, the last release to carry that name.

The OpenEdge 10 generation (from 2003) marked the major modernization. OpenEdge 10.1 (2005) introduced object-oriented programming, turning a purely procedural language into a hybrid that supports classes and interfaces, and the 2006 rebrand to OpenEdge ABL reframed the language’s identity. The OpenEdge 11 line (from 2011) deepened web-services, REST and SQL connectivity for service-oriented architectures, and OpenEdge 12 (2019) delivered a multi-threaded database server and, according to Progress, significant performance and scalability gains.

The current 12.8 release, shipped in 2024, is a Long-Term Support (LTS) version intended to receive fixes and security updates for years, with maintenance updates such as 12.8.8 and 12.8.9 following in 2025 — and recent releases have added cloud-deployment options and AI-assisted developer tooling, keeping a platform conceived in the early 1980s firmly in the present.

Current Relevance

OpenEdge occupies the same niche today that it carved out decades ago: a commercial, vendor-supported platform for serious business applications, central to the companies that build on it and largely unknown to everyone else. Its most visible footprint is the ISV ecosystem — packaged ERP, supply-chain, financial and vertical-market products that embed the OpenEdge database and ship ABL logic to their customers. The best-known example is QAD, whose manufacturing ERP (from the long-running MFG/PRO to the modern QAD Adaptive ERP) is built on OpenEdge and runs in factories around the world.

You will not find ABL trending on social media or climbing language-popularity charts, and its developer community is small relative to mainstream stacks. Its appeal is instead stability, integration and longevity: a small team can build a complete multi-user database application without assembling a separate database, ORM, application server and web layer, and organizations that adopted Progress decades ago can keep evolving the same codebase onto current platforms. Progress continues active development under the OpenEdge name, with regular releases, long-term support commitments, and a steady stream of web, cloud and AI-oriented capabilities.

Why It Matters

OpenEdge is a study in the value of integration and continuity. By fusing a fourth-generation language with its own relational database, it offered, very early, something developers still reach for: a single, coherent way to build data-driven applications without stitching together a stack of separate technologies. That tight coupling is precisely what let its applications endure — and what makes ABL feel idiosyncratic to programmers raised on SQL and general-purpose languages.

Its broader lesson echoes that of other “boring but essential” enterprise technologies: a great deal of the world’s everyday business software runs not on fashionable languages but on long-lived, vendor-supported 4GLs like OpenEdge — tools optimized less for novelty than for letting small teams deliver and sustain real systems over decades. OpenEdge matters not because it is widely discussed, but because, more than forty years after its first release, it is still quietly running the businesses that depend on it.

Timeline

1981
Data Language Corporation (DLC) is founded in Bedford, Massachusetts by Joseph Alsop and co-founders, who set out to build an architecture-independent fourth-generation language with an integrated database that non-experts could use to develop business applications.
1984
The product, then called PROGRESS, first ships commercially for revenue, running on UNIX and DOS. It pairs the Progress 4GL with its own embedded relational database in a single integrated environment.
1987
Data Language Corporation renames itself Progress Software Corporation to match the name of its flagship product.
2003
OpenEdge 10.0 is released (10.0A in December 2003), introducing the unified OpenEdge platform branding and a modernized architecture around the 4GL, database and tools.
2005
OpenEdge 10.1 (10.1A, December 2005) adds object-oriented programming — classes, inheritance and interfaces — to the historically procedural language, creating a hybrid procedural/OO model.
2006
Progress rebrands the language from 'Progress 4GL' (the name used through version 9) to OpenEdge Advanced Business Language (OpenEdge ABL), partly to counter a perception that 4GLs were less capable than other languages.
2011
OpenEdge 11 is released, expanding web-services and SQL connectivity, REST support and tooling for service-oriented and web-facing applications.
2019
OpenEdge 12.0 ships (announced September 2019), bringing a multi-threaded database server along with performance, scalability and modernization improvements that Progress describes as substantial.
2024
OpenEdge 12.8 is released as a Long-Term Support (LTS) version, slated to receive fixes and security updates for years; maintenance releases such as 12.8.8 and 12.8.9 follow in 2025.

Notable Uses & Legacy

QAD Inc.

QAD's manufacturing ERP — including the long-running MFG/PRO and the modern QAD Adaptive ERP — is built on Progress OpenEdge, using the ABL language and OpenEdge database as its application and data foundation for global manufacturers.

MyOffice Apps (Kechie ERP)

Kechie, an OpenEdge-powered ERP from MyOffice Apps, supports supply-chain and operations management; Meals on Wheels San Francisco used it to help coordinate the delivery of tens of thousands of meals per day.

Independent software vendors (ISVs)

Hundreds of ISVs distribute commercial vertical applications built on OpenEdge ABL across ERP, CRM, supply-chain, logistics and financial domains, shipping the embedded OpenEdge database with their products.

Enterprise line-of-business systems

Progress reports that OpenEdge underpins business-critical applications used by large numbers of organizations across manufacturing, travel, automotive, healthcare and financial services — typically the systems that run day-to-day operations.

Running Today

Run examples using the official Docker image:

docker pull
Last updated: