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.
Not surprisingly, given the built-in support for extensions and
optimizations, a large third party market for the language has developed.
From simple feature extensions to radically different functionality many
additional capabilities can now be leveraged.
CapeSoft has been making add-ons (called "Accessories") to the Clarion Programming language for 20 years.
While the primary
purpose of CapeSoft is creating software, we have had specific requirements for specific functionality along the way, and
we have built technology to meet those requirements. As big supporters of the
idea of re-usable code and because Clarion is specifically designed to make
re-using code easy, we have been able to package this technology so that we
can re-use it from one project to the next.
A side effect of this development approach is that the technology becomes
available for use by other Clarion programmers. This has grown into a
significant part of the CapeSoft business and we are now the largest
supplier of Clarion Accessories in the world.