Als Skriptsprachen werden Programmiersprachen bezeichnet, die nicht für das jeweilige Betriebssystem kompiliert, sondern bei ihrer Ausführung interpretiert und ausgeführt werden.
Dies geschieht meist durch einen sogenannten Interpreter (engl.: ,,interpreter``).
Diese Programme oder Skripten können während ihrer Erstellung ausprobiert und geändert werden und eignen sich gut für verschiedene Zwecke, beispielsweise zur Automatisierung von Aufgaben in der Datenverarbeitung.
Die Verwendung einer Skriptsprache wie Tcl / Tk hat den angenehmen Nebeneffekt, daß der Code in der endgültigen Version weitestgehend offen gehalten werden kann, und daher dem Anwender beliebige Modifikationen und Anpassungen erlaubt, falls solches gewünscht wird. So stehen beispielsweise handliche Möglichkeiten zum Klonen von Prozeduren [Scr1999], Schnittstellen zu fast allen gängigen Programmiersprachen, Datenbanken und Protokollen etc. sowie eine Fülle von Erweiterungen zur Verfügung, von denen einige bereits weite Verbreitung gefunden haben [Har1997] [RT1999].
Erweiterungen existieren außerdem in fast allen Bereichen [Tcl2000b], komplexe Schnittstellen ( Tix , tixwish ), Graphen und Tabellen ( BLT ), Visualisierung und 3D-Graphik ( VTK - OpenGL , TSIPP ), Oracle und Sybase Datenbanken (Oratcl, Sybtcl), Distributed Programming, Netzwerk und Remote Procedure Calls ( RPC ) ( Tcl-DP ), Mehrbenutzer Umgebungen (GroupKit), Automatisierung von Programmen (expect), komplexe Datenstrukturen, Unix Systemaufrufe ( TclX ), in C/C++ eingebettete Tk Aufrufe ( ET ), Baumstrukturen (engl.: ,,trees, tree structures``), Aufzeichnung und Wiedergabe von Interaktionen (TKReplay), Unterstützung von Unicode (seit Tcl Version 8), Audio-Unterstützung (Snack), XML (TclXML), CORBA (TclMico) und viele weitere.