Tcl

Da Wikipedia, l'enciclopedia libera.

bussola Disambiguazione – Se stai cercando altre voci che possono riferirsi alla stessa combinazione di 3 caratteri, vedi TCL.

Tcl (acronimo di Tool Command Language), è un linguaggio scripting creato da John Ousterhout generalmente considerato di facile apprendimento (rispetto ai linguaggi della sua generazione) ma allo stesso tempo potente. Viene comunemente usato per prototipizzare rapidamente e testare applicazioni interpretate, anche dotate di GUI. La pronuncia suggerita per l'acronimo Tcl è "tickle".

Indice

[modifica] Caratteristiche

Le caratteristiche del linguaggio Tcl comprendono:

  • Qualsiasi cosa è un comando, comprese le strutture del linguaggio. Queste ultime utilizzano la Notazione polacca inversa.
  • Qualsiasi cosa può essere ridefinita o sovrascritta dinamicamente.
  • Tutti i tipi di dato possono essere manipolati come stringhe, compreso il codice.
  • Utilizza regole sintattiche estremamente semplici.
  • Possiede un' interfaccia event-driven per i sockets e i files.
  • Facilmente estendibile tramite una API che permette di collegare all' interprete oggetti scritti in linguaggio C, C++ REXX e Java.
  • Completo supporto per l' Unicode già dal 1999.
  • Indipendente dalla piattaforma. L' interprete è già stato portato su: Win32, UNIX, Mac, etc.
  • Buona integrazione con il sistema a finestre grazie all' estensione Tk.

[modifica] Esempi

Per un Hello World il codice è

puts "Hello World!"

Semplicissimo esempio di codice:

 puts "dammi un numero"
 gets stdin numero
 puts "Il quadrato è [expr {$numero * $numero}]"

Un altro esempio in stile funzionale:

 proc filter {list script} {
   set res {}
   foreach e $list {
     if {[uplevel 1 $script $e]} {
       lappend res $e
     }
   }
   set res
 }

L'elemento e è incluso nella lista list? (ritorna 0 od 1).

 
 proc in {list e} {
   expr {[lsearch -exact $list $e] >= 0}
 }

Elementi comuni di due liste ovvero insieme (intersezione):

 % filter {a b c} {in {b c d}}
 b c

[modifica] Tk

Per approfondire, vedi la voce Tk (informatica).

L'estensione Tk è un insieme di strumenti per scrivere GUI (un toolkit di widget) implementato dallo stesso autore di Tcl. Può essere usato anche in combinazione ad altri linguaggi come Perl, Python, Ruby, Lisp ed altri, ed è stato portato su varie piattaforme quali GNU/Linux, Apple Macintosh, Unix e Windows.

Esempio Tk, un orologio numerico in tre righe:

 proc every {ms body} {eval $body; after $ms [info level 0]}
 pack [label .clock -textvar time]
 every 1000 {set ::time [clock format [clock sec] -format %H:%M:%S]}

[modifica] Voci correlate

[modifica] Collegamenti esterni

Principali linguaggi di programmazione (tutti)

Ada | ALGOL | APL | Awk | BASIC | C | C++ | C# | COBOL | Delphi | Eiffel | Fortran | Haskell | IDL | Java | JavaScript | J# | Lisp | LOGO | ML | Objective C | O'Caml | Pascal | Perl | PHP | PL/I | PLaSM | Prolog | Python | Ruby | SAS | Scheme | sh | Simula | Smalltalk | SQL | Transact-SQL | Visual Basic


Strumenti personali