# Clarion (Programmiersprache)

Clarion ist eine objektorientierte 4GL-Programmiersprache und eine integrierte Entwicklungsumgebung (IDE) zur Entwicklung von Datenbank-Anwendungen und ist den anwendungsbezogenen Programmiersprachen zuzuordnen. Das Produkt wird von Softvelocity weiterentwickelt und vertrieben.

## Beschreibung

Clarion verfügt im Gegensatz zu vielen anderen Programmiersprachen über eine eigene Templatesprache, mit der geprüfter Quellcode erzeugt wird. Ein Großteil der Anwendungsentwicklung mit der Software erfolgt daher durch den Einsatz von Templates. Diese enthalten sowohl die Schnittstelle zum Programmierer (z. B. welche Tabellen und Felder in einem Browse-Fenster angezeigt werden sollen) als auch die Regeln zur Codegenerierung. Die Clarion-IDE enthält den Generator, der die Templates und Eingaben des Programmierers verarbeitet und schließlich den zu kompilierenden Quellcode erzeugt. Clarion beinhaltet ein RAD-Tool (Rapid Application Development Tool), das es dem Entwickler ermöglicht, mit wenigen Mausklicks durch Wizards (Schablonen) das Grundgerüst einer Applikation zu entwickeln.
Das Data-Dictionary (Datenlexikon) steht im Mittelpunkt der Software, in dem u. a. die Datenbank-Tabellen und deren Attribute definiert werden. Im AppGen (Application-Generator, Anwendungsgenerator) können mit wenigen Mausklicks komplette Anwendungen um die definierten Tabellen erzeugt werden. Dabei stützt sich das System auf die zuvor erwähnten Templates und erzeugt Sourcecode, der dann automatisch zu ablauffähigen Programmen (EXE) oder zu Bibliotheken (DLL) kompiliert wird. Das APP-File enthält die komplette Definition der Anwendung und kann an entscheidenden Punkten mit handgeschriebenem Sourcecode erweitert werden. Änderungen und Erweiterungen werden im APP-File vorgenommen, das jedes Mal komplett oder (wenn möglich) nur Teile als Source neu erstellt.
Die Clarion 4GL Sprache ist eine spezielle datenbankneutrale Programmiersprache, die speziell für Business-Anwendungen geschrieben wurde. Andere Anwendungen können ebenfalls mit der Software erstellt werden. Ein Vorteil der Software ist, dass sie ablauffähige Programme (EXE-Files) erzeugt, für die keine weiteren Lizenzgebühren anstehen und die ohne weiteres netzwerkfähig sind. Die Software kann durch Kombination von ODBC/ADO sowie natürlichen Datenbanktreibern virtuell auf alle Daten zugreifen. Ansonsten können mit Clarion auch Web-Anwendungen erstellt werden. Im Lieferumfang der „Enterprise Edition“ sind dafür Templates für HTTP-Sockets, XML- sowie JSON-Objekte enthalten. Darüber hinaus gibt es umfangreiche Bibliotheken von Drittanbietern wie „Nettalk“ von CapeSoft oder die „Clarion Handy Tools CHT“ von Gus Creces, mit denen Webserver und -clients, Mailserver und -clients sowie FTP-Clients erstellt werden können.

## Geschichte

Die Software geht auf eine Idee von Bruce Barrington zurück, der 1982 die Clarion Software Corporation gründete. 1986 wurde Clarion 1.0 veröffentlicht. 1992 fusionierte Clarion Software mit Jensen and Partners International, der Compilerschmiede von Niels Jensen, einem der Gründer von Borland, zur TopSpeed Corporation. Im Mai 2000 wurde die Clarion Produktlinie an SoftVelocity, Inc. verkauft.
Clarion for Windows war eine Weiterentwicklung der älteren DOS Version. Mit DOS erstellte Applikationen konnten einfach nach Windows portiert werden.
Im März 2007 wurde die Software in der Version 6.3 vertrieben. Die Entwicklungsumgebung wird immer noch im 16-Bit-Modus betrieben, lediglich die eigentlichen Compiler sind 32 Bit. Durch die 16 Bit IDE ergeben sich Probleme besonders bei der Nutzung aktueller Windows-Technologien (wie ActiveX, OLE DB, OCX, COM, DCOM usw.). Auf der gleichen Codebasis können sowohl 16- als auch 32-bit-Anwendungen erstellt werden.
Die derzeit aktuelle Version 11 weist eine 32-Bit-Entwicklungsumgebung (IDE) auf .Net-Framework-Basis auf, mit der sich auch Clarion-Anwendungen früherer Versionen verwalten und weiterentwickeln lassen.

## Dateiformate und Datenbanktreiber

* ADO
* ASCII
* Clipper
* dBASE
* DOS - (Binärdatei)
* IBM DB2
* In-Memory Database driver (IMDD)
* Microsoft SQL Server
* ODBC
* Oracle
* Pervasive SQL (Btrieve)
* SQL Anywhere
* SQLite
* TPS und Clarion 2.1 (Clarion-eigene Formate)