Tcl (ohjelmointikieli)

Tcl () on John Ousterhoutin kehittämä tulkattava ohjelmointikieli. Sen nimi voidaan lausua englanniksi ”tickle”. Tcl:ää pidetään helposti opittavana, mutta silti tehokkaana työvälineenä oikeissa käsissä. Tcl:ää käytetään yleensä nopeiden prototyyppien luomiseen, ohjelmien komentosarjakielenä, graafisissa käyttöliittymissä ja testauksessa. Tcl on vuoden nuorempi kuin Perl.

Historia 
Kieli syntyi John Ousterhoutin työkaluista mikropiirien suunnitteluun Berkeleyn yliopistossa 1980-luvun alussa. Ousterhout ja hänen oppilaansa tekivät useita interaktiivisia työkaluja mikropiirien suunnitteluun, joissa jokaisessa tarvittiin komentokieli. Kehityksen kohteena olivat työkalut eikä niiden komentokieli, josta johtuen kielet olivat heikkoja.

Syksyllä 1987 Ousterhout oli sapattivapaalla, jolloin syntyi ajatus sulautettavasta tulkattavasta kielestä, joka voitiin toteuttaa uudelleen käytettävänä ohjelmakirjastona. Tulkki tarjoaisi yleiset ominaisuudet kuten muuttujat, kontrollirakenteet ja proseduurit. Kieltä käyttävä sovellus lisäisi omat ominaisuutensa kieleen laajennuksina, jolloin kieltä voisi käyttää sovelluksen ohjaamiseen. Tcl syntyi tästä käyttötarkoituksesta.

Ousterhout aloitti työn kielen parissa palattuaan sapattivapaalta alkuvuodesta 1988.

Tcl:n ominaisuuksia ja ajatusmalleja 

 Kielen rakenteet ovat komentoja kuten kaikki muutkin
 Kaiken voi dynaamisesti määritellä uudelleen tai korvata uudella
 Kaikkea voi käsitellä merkkijonona
 Erittäin yksinkertainen syntaksi — vain 11 sääntöä
 Helposti laajennettavissa C:llä, C++:lla, ja Javalla.
 Tulkattu kieli — koodia voidaan luoda ja muokata dynaamisesti
 Täysi Unicode-tuki
 Käyttöjärjestelmästä riippumaton
 Läheinen yhteys graafiseen käyttöliittymään Tk:n kautta.

Esimerkkejä 
Kommentit merkitään joko rivin alussa "#"-merkillä tai komennon jälkeen ";"-merkillä.

Hello world -esimerkki:
puts "Hei, maailma!"

Muuttujien käsittely:
set X "This is a string"
set Y 1.24

puts $X
puts $Y

Tcl tukee ehtolauseita kuten useimmat kielet.
Tcl:n switch-lause tukee merkkijonojen vertailua.

TCL ja olio-ohjelmointi 

Vaikka TCL:ssä itsessään ei ole olio-ohjelmointirajapintaa, sitä voi laajentaa tukemaan uusia ominaisuuksia tarpeen mukaan. Kieleen on tehty monia C-laajennuksia, jotka mahdollistavat olio-ohjelmoinnin, esimerkiksi XOTcl ja incr Tcl. Myös kokonaan TCL:llä tehtyjä olioperustaisia laajennuksia on. Tästä esimerkkinä Snit.

TCL:ää käyttäviä ohjelmistoja 
TCL:ää käyttäviä ohjelmia ovat aMSN, eggdrop, x-chat ja BitchX.

Lähteet

Viitteet

Aiheesta muualla 

 http://www.tcl.tk/
 http://www.activestate.com/ — tarjoaa jakelupakettia
 http://wiki.tcl.tk/ Tcl-wiki
 http://www.tcl.tk/advocacy/tclHistory.html — historiaa
 http://www.tcl.tk/man/tcl8.4/TclCmd/Tcl.htm — 11 sääntöä englanniksi
 http://wiki.tcl.tk/17437 — 11 sääntöä suomeksi

Ohjelmointikielet