Tool Command Language - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Tcl
Tcl.svg

Apparu en 1988
Auteur John Ousterhout
Développeurs Tcl Core Team et al.
Dernière version 8.5.9 [+/−]
Paradigmes Impératif, fonctionnel, objet, événementiel
Typage dynamique (tout est chaîne de caractères)
Influencé par C, Lisp, Shell, Awk, SCL
A influencé Python, PowerShell
Implémentations TCL, Jacl, Jim, Hecl
Système d'exploitation Multi-plateforme
Licence BSD
Site Web http://www.tcl.tk/

Tool Command Language (abréviation : Tcl) est un langage de script initialement conçu en 1988 par John Ousterhout et son équipe à l'université de Berkeley. Il s'inspire principalement des langages C, Lisp, Shell et Awk. Ce langage à typage dynamique est multi-plateformes, extensible, facile à apprendre et repose sur douze règles syntaxiques. Tcl s'interface très aisément avec le langage C, ce qui lui permet de servir par exemple d'interprète embarqué dans des applications.

En 1990, John Ousterhout développe une extension pour Tcl appelée Tk qui est une bibliothèque pour créer des interfaces graphiques portables. Par la suite, le développement de Tk était suffisamment découplé de celui de Tcl pour être utilisé avec d'autres langages. Cependant la combinaison de Tcl et Tk reste connue comme langage sous le nom de Tcl-Tk ou Tcl/Tk.

Tcl-Tk fait partie des langages de programmation ayant la propriété d'homoiconicité comme pour le Lisp. Nombre d'informaticiens prononcent « Tiqueul » en parlant de Tcl, qui signifie chatouiller en anglais (tickle). Tk est prononcé « ticket ».

Caractéristiques

Réputé économe en mémoire vive[réf. souhaitée], Tcl est un langage interprété multi-plateforme.

L’un des mots d’ordre du langage est résumé sous la forme de tout est une chaîne de caractères (traduction littérale de everything is a string) : même le code définissant une procédure peut être manipulé comme une chaîne.

Par ailleurs, tout au sein du langage est une commande : même les instructions comme if ou while sont des commandes, et ne relèvent aucunement de la syntaxe du langage. Toutes les commandes, (y compris l'affectation de variables) peuvent être surchargées.

Les expressions mathématiques sont évaluées par une commande spéciale, avec une syntaxe inspirée du C.

Les listes imbriquées sont l'un des types de base du langage, et permettent une programmation fonctionnelle très concise. La syntaxe devient alors proche de la notation préfixée.

L'introspection de l'interprète permet d'accéder à toute la pile d'exécution, et d'exécuter des commandes à un niveau supérieur (dans la pile).

Il est possible de définir des actions à déclencher sur la lecture ou écriture d'une variable, ainsi que sur l'appel d'une procédure.

Le langage permet également de définir de nouvelles structures de contrôle (do .. until par exemple) en quelques lignes.

Les chaînes de caractères respectent la norme Unicode, et des commandes permettent de convertir des chaînes entre différents codages.

Les sockets multi-plateformes sont gérés, aussi bien côté client que côté serveur.

Tcl permet la recherche et substitution d'expressions rationnelles.

L’intégration aisée de code natif C, C++ et Java est possible.

Bien qu’aucune programmation orientée objet n’existe dans le cœur du langage, de nombreuses extensions permettent cette approche, même sans ajouter de code natif.

Page générée en 0.005 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise