Clarion (ohjelmointikieli)

Clarion on tietokantasuuntautunut ohjelmointikieli Microsoft Windows -alustalle. Pääasiallisena työkaluna toimii samanniminen kehitin, joka tekee suurimman osan sovellusten peruslogiikasta ns. template-pohjien eli lähdekoodin generoimisen määräävien mallipohjien perusteella. Sovelluskehityksessä voi siten keskittyä keskeisen toiminnallisuuden kehittämiseen.
Clarionia ylläpitää ja kehittää Softvelocity Inc., joka toimii Clarionin alun perin kehittäneen TopSpeed Corporationin työn pohjalta.
Clarion-kehitin tukee natiivisti yleisimpiä SQL-variantteja, kuten Microsoft SQL, Oracle, IBM DB2, sekä ODBC-rajapinnan avulla melkein mitä vain kantoja (kuten MySQL, Firebird). Clarionin omia tietokantaformaatteja ovat tiedostopohjaiset (ISAM) Topspeed- sekä Clarion-kannat.
Kehittimestä on tarjolla kalliimpi ja enemmän ominaisuuksia sisältävä Enterprise Edition sekä perusominaisuudet sisältävä Professional Edition. Myös akateeminen versio on saatavilla suoraan Softvelocityltä hankittaessa.
Kehittimen toimintaa laajentavia kirjastoja ja templateja tarjoavat useat yritykset. Esimerkiksi näyttöjen kustomointiin, raportointiin ja kommunikointiin (TCP/IP-pohjaiset protokollat, sarjaliitännät jne.) on tarjolla runsaasti lisätyökaluja.
Toiminta.
Normaali Clarion-sovellus koostuu tietokannan kuvaavasta Data dictionarysta (.dct), jossa kuvataan käytettävät taulut sekä taulujen kenttiä vastaavien käyttöliittymäkontrollien ominaisuudet. Varsinainen lähdekielinen sisältö on application-tiedostossa (.app). Tämän käännöksen yhteydessä kehitin generoi lähdekoodin, kääntää objektitiedostoiksi ja linkittää ne Win32 EXE/DLL/LIB-tiedostoiksi, joita voidaan siis ajaa normaaleina Windows-sovelluksina Win32 -alustalla. Clarion-sovellukset voivat myös hyödyntää useimpia muilla työkaluilla tehtyjä ohjelmakirjastoja, kuten DLL tai ActiveX/COM-kirjastoja.
Myös täysin käsin kirjoitettuja lähdekielisiä ohjelmia on mahdollista tehdä.
Kielen ominaisuuksia.
Clarionin syntaksi muistuttaa hieman BASICia, Pascalia ja Cobolia.
Clarionissa on mahdollista käyttää sekä proseduraalista että olio-pohjaista lähestymistapaa. Enemmän oliopohjaisuuteen painottuu kehittimen ABC-templateketju, kun taas perinteikkäämpi malli on Clarion-templateketju (ns. Legacy).
Esimerkki.
Pelkistetty esimerkki ohjelmasta (hello.clw):
 PROGRAM
 MAP
 END
 CODE
 MESSAGE('Hello World!','Clarion')
 RETURN
Tavallisempi Clarion-ohjelma koostuu ikkunasta ja siinä ajettavasta tapahtumat käsittelevästä Accept-silmukasta:
 HelloProcedure PROCEDURE()
 Window WINDOW('Clarion for Windows'),AT(,222,116),FONT('Tahoma',8,FONT:regular),SYSTEM,GRAY
 STRING('Hello World!'),AT(91,22),USE(?String1)
 BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT
 END
 CODE
 OPEN(Window)
 ACCEPT
 CASE ACCEPTED()
 OF ?CloseBtn
 POST(EVENT:CloseWindow)
 END
 END
 CLOSE(Window)
 RETURN
Historia.
Nykyinen tuotantoversio Clarionista on v11 (julkaistu lokakuussa 2018). Aiemmat Windows-versiot ovat 10,9, 8, 7, 6.X, 5.5, 5.0, 4, CW (Clarion for Windows) 2.0 ja CW 1.5. Sitä aiemmat versiot olivat DOS-pohjaisia: ensimmäinen Clarion-kehittimen versio julkaistiin jo vuonna 1986. DOS-versio oli Suomessakin varsin suosittu tietokantasovellusten tekoon, ja Windows-versiota on käytetty laajojenkin sovellusten tekemiseen.