Est. 1986 Intermediate

Clarion

A fourth-generation programming language and integrated development environment designed for building database-driven business applications on Windows, featuring template-based code generation and a central data dictionary.

Created by Bruce Barrington

Paradigm Multi-paradigm: Procedural, Object-Oriented, Event-Driven
Typing Static, Strong
First Appeared 1986
Latest Version Clarion 12 (2025)

Clarion is a fourth-generation programming language (4GL) and integrated development environment designed for building database-driven business applications on Microsoft Windows. Created by Bruce Barrington and first released in April 1986 as a DOS product, Clarion distinguishes itself through its template-based code generation system, central data dictionary, and database-agnostic file driver architecture. Over nearly four decades, Clarion has passed through three corporate owners and continues to be actively developed by SoftVelocity.

History & Origins

Bruce Barrington, who was also one of the founders of healthcare firm HBO & Company (later acquired by McKesson Corporation), created Clarion with the goal of making database application development faster and more accessible. Clarion 1.0 was released in April 1986 as a DOS application by Barrington’s company, Clarion Software Corporation (also referred to as Barrington Systems), based in Pompano Beach, Florida.

The initial release produced p-code and included a screen designer, interpreter, editor, and debugger. It supported Clarion’s proprietary ISAM DAT file format. Barrington’s vision was to create a language that was compact and expressive, taking full advantage of the IBM PC’s memory-mapped screen by including a built-in screen designer.

The TopSpeed Era

In 1991, Barrington licensed compiler technology from Jensen & Partners International (JPI), a company founded by Niels Jensen, who had been a co-founder of Borland. On April 30, 1992, Clarion and JPI merged to form TopSpeed Corporation. This merger was pivotal — it brought the JPI team’s native-code compiler expertise to Clarion, replacing the original p-code interpreter with a compiler that generated native machine code.

Clarion Database Developer (CDD) 3.0, released in 1993, was the first version to produce native code. The JPI team’s experience with Pascal compilers (they had previously worked on Turbo Pascal at Borland) influenced Clarion’s continued development and reinforced its Pascal-like syntax characteristics.

The Windows Transition

Clarion for Windows 1.0 arrived in January 1995 as a Win16 product. By September 1995, version 1.5 added native Win32 support for Windows 95 and NT 4.0. Clarion for Windows 2.0 (June 1996) was a landmark release that introduced object-oriented programming features, including inheritance, encapsulation, virtual methods, and method overloading.

Clarion 4, released in December 1997, dropped the “for Windows” designation and introduced the ABC (Application Builder Classes) template set, which provided a modern OOP-based foundation for the code generation system.

SoftVelocity Takes Over

In May 2000, SoftVelocity purchased the Clarion product line from TopSpeed Corporation. Bob Zaunere, a long-time TopSpeed employee, became CEO. Under SoftVelocity’s stewardship, Clarion has continued to evolve:

  • Clarion 5.5 (August 2000) added interfaces to the OOP model
  • Clarion 6.0 (November 2003) introduced preemptive multithreading
  • Clarion 6.3 (January 2006) was the final version with a 16-bit IDE
  • Clarion 7 (approximately 2007–2009) adopted a SharpDevelop-based IDE architecture
  • Clarion 8 (September 2011), Clarion 9 (2013–2014), Clarion 10 (2015), and Clarion 11 (2018) brought incremental improvements
  • Clarion 12 (May 2025) is the current release, featuring a refactored STRING type with improved Unicode handling and what SoftVelocity describes as faster compilation times

Design Philosophy

Clarion’s core philosophy prioritizes pragmatism, productivity, and long-term maintainability over technological novelty. As third-party tools vendor CapeSOFT describes it, Clarion is designed for building “programs economically which perform a task well and which are maintainable for a long period of time.”

The language was built from the ground up around data management — the collection, storage, and presentation of data. Everything in Clarion, from the language syntax to the IDE tools, is oriented toward making database applications easier to build and maintain.

A key principle is developer control: generated code can always be customized, and every part of the system is accessible to the developer. The template system generates readable source code that can be freely mixed with hand-written code, avoiding the “black box” problem common to many code generation tools.

Key Features

Template-Based Code Generation

Clarion’s most distinctive feature is its template system. Rather than writing all code by hand, developers describe their application at an abstract level using templates. The Clarion IDE’s Application Generator then produces complete source code, which is compiled and linked normally. Templates handle common patterns — CRUD screens, browse lists, reports, process dialogs — while developers add custom logic through “embed points” in the generated code.

This approach means that changes to the data dictionary or template configuration automatically propagate through the generated code, dramatically reducing the maintenance burden for database applications.

Data Dictionary

The data dictionary is a central metadata repository that describes database tables, columns, keys, indexes, file relations, validation rules, and referential integrity constraints. The Application Generator uses the data dictionary to produce application code that is already aware of the database structure, data types, and business rules.

Database-Agnostic File Drivers

Clarion provides backend-independent data access through a unified API. Applications can connect to various database formats without code changes by swapping file drivers:

  • ISAM formats: TopSpeed TPS, Btrieve, dBase/FoxPro
  • SQL databases: Microsoft SQL Server, Oracle, MySQL, PostgreSQL, and others

This abstraction means an application written against one database backend can be retargeted to another by changing the driver configuration, often without modifying application code.

Language-Level Constructs for Windows and Data

Clarion treats windows (GUI forms), reports, and data structures as first-class language constructs built into the syntax rather than provided through external libraries:

1
2
3
4
5
6
7
8
MyWindow WINDOW('Customer Entry'),AT(0,0,320,200),SYSTEM,GRAY
    PROMPT('Name:'),AT(10,10)
    ENTRY(@s30),AT(60,10),USE(CUS:Name)
    PROMPT('City:'),AT(10,30)
    ENTRY(@s20),AT(60,30),USE(CUS:City)
    BUTTON('OK'),AT(100,170),USE(?OKButton)
    BUTTON('Cancel'),AT(180,170),USE(?CancelButton)
  END

Object-Oriented Programming

Since Clarion for Windows 2.0 (1996), the language has supported OOP features including classes, inheritance, encapsulation, virtual methods, method overloading, and interfaces (added in Clarion 5.5). The ABC template set introduced in Clarion 4 is built entirely on these OOP foundations.

Data Types

Clarion provides a range of data types suited to business application development:

TypeDescription
STRINGFixed-length character string
CSTRINGNull-terminated string (C-compatible)
PSTRINGLength-prefixed string (Pascal-compatible)
LONG32-bit signed integer
SHORT16-bit signed integer
BYTE8-bit unsigned integer
REAL64-bit IEEE floating point
DECIMALPacked decimal for financial calculations
DATEDate value
TIMETime value
GROUPComposite data structure
QUEUEDynamic array / in-memory table

Variables are initialized to blanks or zero by default. All string types are implicitly arrays, allowing character-level access.

Evolution

Clarion’s evolution reflects the broader shifts in PC software development over four decades:

  • 1986–1992: DOS era with p-code execution, screen-based applications, proprietary ISAM data storage
  • 1992–1995: Native code compilation arrives via the JPI merger; transition from DOS to Windows begins
  • 1995–2000: Full Windows development with OOP, the ABC template architecture, and multi-backend database support
  • 2000–present: Continued refinement under SoftVelocity with preemptive multithreading, modern IDE, and incremental language enhancements

Throughout these transitions, Clarion has maintained a strong emphasis on backward compatibility. SoftVelocity states that Clarion 12 provides 100% backward compatibility with prior versions, allowing applications written decades ago to be recompiled with the latest version.

Platform Availability

Clarion is a Windows-only development environment that produces 32-bit Windows executables:

PlatformSupport
Windows (Win32)Full — native development and deployment platform
64-bit WindowsPlanned for a future release
macOSNot available
LinuxNot available
DockerNo image available

Clarion has always targeted the DOS and Windows platforms exclusively. Web application output is supported through third-party tools such as CapeSOFT’s NetTalk, but the development environment itself requires Windows.

Current Relevance

Clarion remains actively developed by SoftVelocity, with Clarion 12 released in May 2025. The product is commercial and sold via subscription. The Clarion community, while smaller than mainstream language communities, is notably loyal and active, with resources like ClarionHub, CapeSOFT, and various regional user groups.

The language reportedly has a particularly strong following in Brazil and Latin America, as well as in Eastern Europe, where it is used for business application development. Many Clarion applications have been in continuous production use for decades, a testament to the language’s emphasis on maintainability and backward compatibility.

Historically, the Clarion IDE was written in Clarion itself. Since Clarion 7, the IDE has been based on the SharpDevelop framework, though various IDE components such as the Application Generator and Dictionary Editor reportedly remain Clarion-based.

Why It Matters

Clarion represents one of the most fully realized visions of what a database-oriented 4GL can be. Its template-based code generation system — where developers work at a higher level of abstraction while retaining full access to the generated source code — anticipated patterns that would later appear in other RAD tools and code generation frameworks.

The language demonstrates that productivity tools don’t have to sacrifice developer control. Clarion’s approach of generating readable, modifiable source code from templates and data dictionaries occupies a middle ground between fully manual coding and opaque visual builders. For the niche of Windows database application development, this approach has proven remarkably durable, sustaining a commercial product and active community for nearly four decades.

Timeline

1986
Clarion 1.0 released for DOS by Bruce Barrington / Barrington Systems in Pompano Beach, Florida
1988
Clarion Professional Developer (CPD) 2.0 introduces the Designer, data dictionary, and template-based code generation
1992
Clarion merges with Jensen & Partners International (JPI) to form TopSpeed Corporation, gaining native-code compiler technology
1993
Clarion Database Developer (CDD) 3.0 released with native machine code compilation replacing p-code
1995
Clarion for Windows 1.0 released, marking the transition from DOS to Windows development
1996
Clarion for Windows 2.0 introduces object-oriented programming features including inheritance, encapsulation, and virtual methods
1997
Clarion 4 released with ABC (Application Builder Classes) template set, establishing a modern OOP-based template architecture
2000
SoftVelocity acquires the Clarion product line from TopSpeed Corporation; Clarion 5.5 adds interfaces to OOP model
2003
Clarion 6.0 introduces preemptive multithreading
2025
Clarion 12 released by SoftVelocity with refactored STRING type and improved Unicode handling

Notable Uses & Legacy

Line-of-Business Applications

Widely used by small-to-medium software development shops to build CRM, ERP, inventory management, and accounting systems for Windows.

Database Front-End Applications

Used to create data entry and reporting applications that connect to various database backends through Clarion's database-agnostic file driver system.

Long-Lived Enterprise Software

Known for applications with exceptionally long lifespans — many Clarion applications have been continuously maintained and enhanced for decades in production environments.

Latin American and Eastern European Software Markets

Clarion reportedly has a particularly strong developer community in Brazil and across Latin America, as well as in Eastern Europe, where it is used for a wide range of business applications.

Language Influence

Influenced By

Running Today

Run examples using the official Docker image:

docker pull
Last updated: