Tcl

Η Tcl (αρχικά των αγγλικών λέξεων "Tool Command Language", "Γλώσσα Εντολών Εργαλείων", συνήθως εμφανίζεται ως "Tcl" ή "TCL") είναι μια γλώσσα προγραμματισμού σεναρίων που δημιουργήθηκε από τον John Ousterhout. Σύμφωνα με αυτόν, "δημιουργήθηκε λόγω απογοήτευσης" και, ενώ οι προγραμματιστές δημιουργούσαν τις δικές τους γλώσσες, τις οποίες στη συνέχεια ενσωμάτωναν σε εφαρμογές, η Tcl έγινε αποδεκτή από μόνη της. Συχνά χρησιμοποιείται για γρήγορη ανάπτυξη εφαρμογών (rapid application development/rapid prototyping), εφαρμογές σεναρίων, γραφικές διεπαφές και δοκιμές λογισμικού. Η Tcl χρησιμοποιείται σε πλατφόρμες ενσωματωμένων συστημάτων, τόσο στην πλήρη της έκδοση, όσο και σε διάφορες άλλες εκδόσεις με μικρότερες απαιτήσεις.
Ο συνδυασμός της Tcl με τη γραφική εργαλειοθήκη Tk ονομάζεται Tcl/Tk.

Διεπαφές με άλλες γλώσσες

Η Tcl περιλαμβάνει απευθείας διεπαφή για τη γλώσσα C.
Αυτό οφείλεται στο ότι αρχικά η γλώσσα γράφτηκε για να είναι ένα πλαίσιο ανάπτυξης (framework) που να παρέχει ένα συντακτικό εμπρόσθιο τμήμα σε εντολές που είχαν γραφτεί σε C, και όλες οι εντολές της γλώσσας (συμπεριλαμβανομένων και αυτών που σε άλλη περίπτωση θα ήταν λέξεις-κλειδιά (keyword), όπως η if ή η while) υλοποιούνται με αυτόν τον τρόπο. Κάθε υλοποίηση εντολής είναι μια συνάρτηση που δέχεται έναν πίνακα από τιμές που περιγράφουν τα ορίσματα της εντολής (τα οποία έχουν ήδη αντικατασταθεί) και μπορεί να ερμηνεύσει αυτές τις τιμές με οποιονδήποτε τρόπο είναι επιθυμητός.
Οι προσομοιωτές ψηφιακής λογικής (digital logic simulators) συχνά περιλαμβάνουν μια διεπαφή συγγραφής σεναρίων σε Tcl για την προσομοίωση των γλωσσών υλικού Verilog, VHDL και SystemVerilog.
Υπάρχουν εργαλεία όπως το SWIG και το ffidl που δημιουργούν αυτόματα τον απαραίτητο κώδικα για σύνδεση κάποιων συναρτήσεων σε C με τη βιβλιοθήκη χρόνου εκτέλεσης (runtime) της Tcl, ενώ το Critcl κάνει το αντίστροφο, επιτρέποντας την ενσωμάτωση κώδικα C μέσα σε ένα σενάριο Tcl και στη συνέχεια μεταγλωττίζοντάς το στον χρόνο εκτέλεσης σε DLL.

Πακέτα επεκτάσεων

Η Tcl πάντα υποστήριζε πακέτα επεκτάσεων, τα οποία προσθέτουν λειτουργικότητα όπως γραφικές διεπαφές χρήστη (GUI), αυτοματοποίηση εφαρμογών σε περιβάλλον τερματικού, πρόσβαση σε βάσεις δεδομένων και άλλες δυνατότητες.

Tile/Ttk

Η Tile/Ttk είναι μια συλλογή από χρωματικούς συνδυασμούς και στυλ για γραφικά συστατικά, η οποία μπορεί να αντικαταστήσει τα περισσότερα γραφικά συστατικά του Tk με τις αντίστοιχες εκδόσεις κάθε πλατφόρμας, καλώντας το API του λειτουργικού συστήματος. Καλύπτονται τα χρώματα και το στυλ των Windows XP, των κλασικών Windows (Windows Classic), της εργαλειοθήκης Qt (στην οποία βασίζονται οι βιβλιοθήκες του περιβάλλοντος KDE του X11) και του Aqua (Mac OS X). Μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία κάποιου νέου στυλ, με χρήση ορισμών γραφικών συστατικών σε συνδυασμό με εικόνες (pixmaps). Παραδείγματα αποτελούν τα στυλ Classic Tk, Step, Alt/Revitalized, Plastik και Keramik.
Στην Tcl 8.4, το πακέτο αυτό ονομάζεται Tile, ενώ στην Tcl 8.5 ανήκει στη βασική διανομή του Tk (με το όνομα Ttk).

Tix

Το Tix, ή Επέκταση Διεπαφής Tk (Tk Interface eXtension), είναι ένα ισχυρό σύνολο από γραφικά συστατικά διεπιφάνειας χρήστη που επεκτείνει τις δυνατότητες των εφαρμογών σε Tcl/Tk και Python. Η χρήση του Tix μαζί με το Tk μπορεί να βελτιώσει σημαντικά την εμφάνιση και τη λειτουργικότητα μιας εφαρμογής.
Το Tix είναι λογισμικό ανοιχτού κώδικα που συντηρείται από τους εθελοντές του Tix Project Group. Ο πηγαίος κώδικας διανέμεται ελεύθερα με την άδεια λογισμικού BSD.

Itcl/IncrTcl

Το Itcl είναι ένα σύστημα αντικειμένων για την Tcl και συχνά συναντάται και ως [incr Tcl] (αναφορά στον τρόπο με τον οποίο αυξάνεται κατά ένα η τιμή μιας μεταβλητής στην Tcl, ονομασία που μοιάζει με αυτήν της C++).

Tcllib

Η Tcllib είναι ένα σύνολο από πακέτα σεναρίων για την Tcl που μπορούν να χρησιμοποιηθούν χωρίς μεταγλώττιση.

TclUDP

Η επέκταση Tcl UDP παρέχει μια απλή βιβλιοθήκη που υποστηρίζει User Datagram Protocol (UDP) sockets στην Tcl.