Clarion is a Programming Language and Software Development Environment developed and maintained by SoftVelocity. It has it's roots in a DOS product created in the mid-80s, which was moved to Windows by the same team responsible for Turbo Pascal. It primarily creates compiled programs for the Windows desktop environment but has also been extended to create web applications as well.
The Clarion language is similar to BASIC and Pascal in terms of syntax, but also includes support for Classes and Objects. It contains a number of unique high-level constructions including native support for window and report structures, and a backend-independent set of functions for data access. It is an easy language to learn and is quickly assimilated by programmers trained in other languages.
By treating Windows, Reports and Data as first-class elements of the language, it is particularly strong in business programs, which mostly deal with the collection, storage and presentation of data. It can interface to a variety of ISAM file formats (Btrieve, dBase, TopSpeed etc) as well as many SQL databases (MSSQL, Oracle, Sybase, MySQL, PostgreSQL and so on.)
In addition to a business-orientated language Clarion includes a development environment that allows for very rapid code generation for common programming tasks. Because generated code can be mixed easily with hand-written code and because the generated code can be regenerated without losing the hand-code additions, Clarion takes full advantage of the benefits of code generation without many of the drawbacks associated with it.
The code generation layer makes use of Templates, and these templates can be created, extended and modified by developers. Thus every part of the system is under the control of the developer and every part can be changed and optimized as required. Indeed the way the whole environment is constructed allows for both radical customization and forward-compatibility at the same time.
A basic tenant of Clarion development is the need to make programs maintainable over large periods of time. Business programs typically have a long lifetime and it's not uncommon to find Clarion programs that are 10 years old or more and yet are still actively maintained and enhanced. By providing a framework that rewards consistency it becomes easier for programmers to maintain programs they did not write themselves and it becomes easier to add additional functionality to existing programs in a predictable and consistent way.
It is fair to say that Clarion is focused less on the technology of software and more on the business of software. The primary goal is to create programs economically which perform a task well and which are maintainable for a long period of time. Thus it is particularly well suited to small software concerns where productivity on a small budget is the biggest concern.