Le langage TCL
Après de nombreuses années à avoir utilisé et apprécié le langage
TCL, je suis passé à Ruby et je réduis ce site au strict minimum avec quelques
pointeurs ou documents que je peux encore être amené à utiliser ou à conseiller.
Quelques réferences
Qu'est-ce que TCL et TK
Origine et évolution
TCL = Tool Command Language, (alias Top Cool Language) a été
initialement développé pour UNIX a l'Université de Berkeley par le
Dr. John Ousterhout et son équipe. Le langage est maintenant soutenu
par la société ActiveState.
La version stable actuelle est Tcl/Tk 8.4.1.
Les principes qui ont dicté sa création par John Ousterhout sont
que tout programme suffisamment important utilise au moins deux
langages :
-
un langage compilé, efficace pour l'algorithmique (le cobol, le
C, C++, JAVA),
-
un langage interprété, utilisé comme colle pour "piloter" et
personnaliser les différentes fonctionnalités de l'application.
TCL a été conçu pour se substituer à cette deuxième catégorie de
langage. C'est ce qui fait la particularité de TCL : ses
utilisateurs viennent d'horizons très variés et utilisent ce
langage avec des objectifs trés différents.
TK est la principale extension de TCL. Elle permet de développer des
applications à fenêtrage indépendamment de la plateforme (Xwindows /
Macintosh / Windows).
Le langage
TCL est un donc un langage de commande interprété (mais compilé à la
volée), multiplatforme, puissant, concu pour être facilement étendu
ou inclu dans une application (C, C++, ...).
TCL permet la définition de procédures, de variables globales, locales,
ou dont la portée peut être accessible (de manière controlée) à
des niveaux arbitraires. TCL permet le traitement des exceptions, la
redéfinition (dynamique) des commandes, ...
Sa syntaxe est tirée à la fois du SHELL, du C et du LISP.
La puissance du langage sans extensions est suffisante pour permettre
l'écriture d'application compléte (graphique ou non) sans aucun
extension (serveur http, éditeur de texte ou de dessin, ...)
La syntaxe du langage quelque peu inhabituelle, est basée sur
quelques règles trés simples :
- tout n'est que commande, y compris les structures du langage
et l'affectation,
- tout peut être dynamiquement redéfini,
- tout "type de données" peut être manipulé comme si c'était une
chaine de caractère, y compris le code,
- fortement géré par les évènements,
- portée des variables ou de commandes modifiable dynamiquement,
Utilisation
Le langage TCL peut être utilisé à deux niveaux :
-
en temps que librairie de
procédures C pour les développeurs. Celle-ci permet de développer
des applications compilées, mais très souples car entièrement
personnalisables par l'utilisateur, et sans avoir à réinventer un
(nouvel) interpréteur : Alpha sur Macintosh, mxedit et exmh sous
unix... De plus en plus d'outils scientifiques existent qui
utilisent TCL : "ptolemy" en traitement du signal, simulateur
"esterel" pour les langages synchrones, outils de saisie graphique
pour VHDL, etc..
-
en temps que langage de programmation pour écrire des scripts purs.
Bien que ce ne soit pas sa vocation initiale, ce langage est
suffisament puissant pour écrire une application complète du style
éditeur de texte, logiciel de dessin ou navigateur internet
(tkmail, jstools, surfit, picasso, ...). TCL/TK est utilisable
gratuitement même pour une application destinée à être
commercialisée. De nombreuses applications et extensions existent,
qu'elles soient commerciales ou publiques (extensions orientées
objets, plugin pour netscape, ... )
Modification de ce site
- 12/03/2014 (diam) :
réduction de ce site à son strict minimum : je ne conserve que quelques
url qui m'intéressent !
- xx/xx/1994 (diam) :
création et développement d'une page/site sur le langage TCL !