# Tcl

Tcl (pronunciat "tíquel" (/'ti:.kel/), originat de l'acrònim en anglès "Tool Command Language" o llenguatge d'eines de comandament, actualment s'escriu com a "Tcl" en lloc de "TCL"), és un llenguatge de script creat per John Ousterhout, que ha sigut concebut per al seu fàcil aprenentatge, però que resulta molt potent a les mans adequades. S'utilitza principalment per al desenvolupament ràpid de prototips, aplicacions "script", interficies gràfiques i proves.
La combinació de Tcl amb Tk (de l'anglès Tool Kit) és coneguda com a Tcl/Tk, i s'utilitza per a la creació d'interficies gràfiques.

## Característiques

Entre les característiques del llenguatge Tcl s'inclouen les següents:
* És un llenguatge interpretat, i el seu codi pot ser creat i modificat dinàmicament.
* Tots els elements d'un programa són ordres, incloent-hi les estructures del llenguatge. Dites ordres s'escriuen en notació polonesa.
* Totes les ordres poden ser redefinides o sobreescrites de manera dinàmica.
* Totes les dades són usades com a cadenes de caràcters Unicode, incloent-hi el codi font. En efecte, suporta totalment Unicode des del seu llançament l'any 1999.
* Les regles sintàctiques són extremadament simples.
* Posseeix normes d'abast dinàmic.
* Permet la programació orientada a events sobre "sockets" i fitxers. També són possibles els events basats en temps i els definits per l'usuari.
* Permet escriure codi fàcil de mantenir. Els "scripts" Tcl són de manera sovint més compactes i llegibles que els programes funcionalment equivalents a altres llenguatges de programació.
* És fàcilment "extensible" via C, C++ i Java.
* Està fortament integrat amb els entorns gràfics, a través de la seva interfície Tk.
* És un llenguatge multiplataforma, amb intèrprets que s'executen sobre Windows, Linux, UNIX, MacOS i MacOSX i inclús microprocessadors PIC.

## Antecedents

El llenguatge TCL originalment va ser projectat per ser un llenguatge d'ordres reutilitzable. Els qui desenvoluparen el TCL estaven creant una sèrie d'eines interactives, i cada una constava del seu propi llenguatge d'ordres. Des que van començar a interessar-se més en aquestes eines que són els llenguatges d'ordres que utilitzarien, aquests llenguatges van començar a construir-se ràpidament sense considerar el disseny apropiat, sense molta importància.
Després d'implementar diversos llenguatges d'ordres creats d'aquesta forma i experimentar problemes amb cada un d'ells, van decidir concentrar la seva atenció a la implementació d'un objectiu general: un llenguatge d'ordres eficaç que pogués ser integrat fàcilment a noves aplicacions. És d'aquesta manera que neix el llenguatge TCL(Tool Command Language), les sigles del qual, en anglès, signifiquen Llenguatge d'Eines d'Ordre.
Des d'aleshores, el llenguatge TCL ha sigut utilitzat com a llenguatge de codi. En molts casos, el TCL és utilitzat amb combinació amb la llibreria TK ("Tool Kit"), un conjunt d'ordres i procediments que fan relativament fàcil per a programar interfícies d'usuari gràfiques.
Una de les característiques més utilitzades del TCL és la seva extensibilitat. Per exemple, si una aplicació requereix alguna cosa de funcionalitat no oferta pel TCL estàndard, les noves ordres del TCL poden ser implementades utilitzant el llenguatge C, un integrat summament fàcil. Des que TCL va començar a ser un llenguatge fàcilment extensible, molta gent ha escrit extensions per algunes feines, i estan lliurement disponibles a Internet.

## Vegeu també

* Bonsai cvs

## Enllaços externs

* Tcl Developer Xchange - Pàgina oficial (Anglès).
* The Tcler's Wiki
* módulos Perl en CPAN sobre Tcl (anglès)