Questo è l'HOWTO per Tcl e Tk per Linux. Va inteso come riferimento per Linux, per coprire tutto quello che si dovrebbe sapere sull'installazione, configurazione e come introduzione allo sviluppo in Tcl e Tk. Vengono analizzate la storia ed alcuni pro e contro riguardanti Tcl e Tk in Linux e vengono anche indicati riferimenti a molte altre fonti d'informazione su vari argomenti relativi a questo semplice ma potente linguaggio di script.
Se si è mai ricompilato un proprio kernel Linux all'interno di X usando il comando
make xconfig
sicuramente si è avuto modo di confrontarsi con la forza di questo semplice ma potente linguaggio per script.
Dopo aver eseguito il primo passo nella ricompilazione del kernel, viene eseguito uno script chiamato kconfig.tk tramite wish (l'interprete Tcl). Appare la finestra di configurazione del kernel di Linux. Invece di rispondere ad una serie di domande, questo strumento di configurazione basato su X permette di usare caselle di spunta per selezionare quali opzioni del kernel abilitare.
Il sistema memorizza le ultime opzioni di configurazione, cosicché ogni volta che viene lanciato bisognerà solo aggiungere o rimuovere qualche spunta senza bisogno di reinserire tutto l'insieme di opzioni. Inoltre si può riempire tutto (o in parte) l'elenco delle opzioni del kernel nell'ordine che si desidera. Dopo questo passo semplificato si può ricompilare il kernel nel modo tradizionale.
In realtà c'è un altro caso famoso. Si è mai usato "printtool"? (Printer Config Tool (C) Copyright 1994 di Red Hat Software - autore: Michael Callahan). Dopo aver installato una distribuzione Red Hat sarà capitato di usarlo per predisporre i servizi di stampa. Bene, l'interfaccia di printtool è principalmente uno script Tcl/Tk.
Per chi non conoscesse Red Hat, mi si lasci dire come si possa facilmente configurare le stampanti semplicemente riempiendo qualche campo di testo e qualche casella di spunta.
Il programma in sé si prende cura di predisporre i servizi di stampa attraverso la creazione della directory di spool, scrive il file /etc/printcap e il filtro della stampante, riavvia lpd e prova il filtro con pagine ascii o postscript. Consente di manipolare le opzioni ghostscript (cioé scegliere sino a 8 pagine per pagina in uscita e impostare i margini), ha una guida in linea e molte altre possibilità.
Qual'è la differenza rispetto ad altre implementazioni di servizi di stampa?
Tutto si ottiene utilizzando Tcl/Tk come una "colla" tra applicazioni consolidate, operando su normali file di configurazione di Linux in una finestra visuale e interattiva sotto X-Window. Non è stato scritto alcun nuovo comando specifico dell'applicazione.
Attualmente il documento si limita a dare un riferimento iniziale all'utente Linux; nelle versioni future si cercherà di incorporare un piccolo "Tutorial di programmazione". Mi si lasci ripetere che questo documento non è (e non vuole sostituire) un "manuale utente" o un "riferimento" omnicomprensivo per lo sviluppo e la programmazione in Tcl e Tk: è solo un punto di partenza per gli utenti Linux.
Il concetto dell'autore di manuale di riferimento coincide con la definizione di pagine di manuale, e molte persone imparano Tcl/Tk da queste basilari fonti d'informazione. Questi file fanno parte della distribuzione del codice sorgente, e sono installati nella propria macchina Linux. Si sarà in grado di accedere alle pagine di manuale di Tcl/Tk tramite il comando man.
Sono stati scritti molti tutorial di programmazione completi e strutturati allo scopo di permettere ai nuovi utenti di maneggiare Tcl/Tk; tonnellate di altro materiale é disponibile in Internet. Interpretando la filosofia di Tcl/Tk non cercheró di reinventare la ruota: mi organizzeró per mettere insieme la grande quantitá di materiale già disponibile.
Si suggerisce di guardare gli altri documenti elencati nella sezione Riferimenti per trovare dove recuperare informazioni specifiche su Tcl e Tk.
Per capire l'abc di Tcl/Tk non é necessario essere un guru della programmazione, la sintassi dei comandi é molto semplice. Fondamentalmente é necessario avere familiarità con:
Le nuove versioni di questo documento verrano caricate sul sito ftp: ftp://sunsite.unc.edu/ pub/Linux/HOWTO/ e saranno disponibili su tutti gli altri mirror.
L'ipertesto e altre versioni di questo e di altri HOWTO di Linux sono disponibili principalmente presso sunsite.unc.edu/LDP/lpd.ht ml, www.linux-howto.com e presso molti altri siti mirror nel World-Wide-Web.
Cercherò di incorporare nella mia pagina Web la versione html e sgml più recente del documento. La maggior parte delle distribuzioni Linux in CD-ROM include gli HOWTO, spesso nella sottodirectory /usr/doc/, e si possono acquistare versioni stampate da parecchi venditori.
Qualche volta gli HOWTO disponibili presso i venditori di CD-ROM, siti ftp, ed in formato cartaceo sono superati. Se la data scritta su questi HOWTO è più vecchia di sei mesi, allora probabilmente è disponibile una nuova copia in Internet.
Se qualcuno facesse una traduzione di questo documento in un'altra lingua mi scriva un messaggio, includerò qui un riferimento.
Conto su di te, lettore, per rendere utile questo HOWTO. Se hai un qualsiasi suggerimento, correzione o commento, ti prego di mandarlo a ( Luca Rossetti ), e io cercherò di aggiungerlo nella prossima revisione.
Se uno dei collegamenti menzionati in questo documento non fosse più disponibile o dovesse cambiare, per favore notificatemelo immediatamente cosicché possa aggiornarlo o rimuoverlo.
Sono disposto a rispondere a domande generali a proposito di Tcl/Tk e Linux meglio che posso. Prima di farlo però, leggete tutte le informazioni contenute in questo HOWTO, e mandatemi informazioni dettagliate sul problema.
Se pubblicate questo documento in un CD-ROM o in forma stampata, sarebbe veramente apprezzata una copia omaggio. Scrivetemi una e-mail e vi risponderò spedendovi il mio indirizzo postale.
In molte sezioni ho menzionato società editrici o URL commerciali: io non lavoro per loro.
La maggior parte delle informazioni di questo HOWTO provengono da Scriptics del Dr. Ousterhout e dalle FAQ di Larry W. Virden su comp.lang.tcl FAQ .
Vorrei ringraziare il gruppo di utenti linux italiano PLUTO e tutti i volontari dell' ILDP (Italian Linux Documentation Project), specialmente Eugenia Franzoni e Giovanni Bortolozzo, per i loro commenti.
Questo documento è sottoposto a Copyright 1998 da Luca Rossetti.
Questo documento viene distribuito nella speranza che sia utile per il lettore: naturalmente è considerato senza alcuna garanzia, senza neanche l'implicita garanzia di commerciabilità o idoneità per uno scopo particolare. Questo HOWTO è un documento libero; lo si può ridistribuire o modificare sotto i termini del COPYRIGHT LDP .
Si legga il Manifesto LDP per maggiori dettagli.
Tcl/Tk sono stati creati dal dr. John Ousterhout (pronunciato "O'-ster-haut") mentre insegnava all'Università della California, Berkeley, California. Egli iniziò a implementarli quando tornò a Berkeley nella primavera del 1988; per l'estate di quell'anno veniva utilizzato in alcune applicazioni interne, ma senza Tk. Si può leggere la storia di Tcl/Tk direttamente dalle parole del suo autore su www.scripti cs.com/scripting/tclHistory.html.
Tcl è l'acronimo per "Tool Command Language" (si pronuncia come la parola inglese "tickle"). In realtà Tcl è diviso in due parti: un linguaggio e una libreria.
Tcl è un semplice linguaggio di programmazione testuale destinato a impartire comandi a programmi interattivi come editor di testi, debugger e shell. Ha una sintassi semplice ed è anche programmabile.
Gli utenti di Tcl possono scrivere procedure per fornire comandi più potenti rispetto a quelli incorporati.
Secondo, Tcl è un pacchetto di libreria integrabile nelle applicazioni che consiste di un analizzatore del linguaggio Tcl, di routine per l'implementazione dei comandi incorporati in Tcl e di procedure che consentono ad ogni applicazione di estendere Tcl con ulteriori comandi specifici per quella applicazione. Il programma dell'applicazione genera comandi Tcl e li passa all'analizzatore di Tcl per l'esecuzione.
I comandi possono essere generati leggendo caratteri da una sorgente in ingresso o associando stringhe di comandi ad elementi dell'interfaccia utente dell'appplicazione, come elementi di menu, bottoni, ed altri controlli. Quando la libreria Tcl riceve i comandi, li analizza suddividendoli in campi componenti ed esegue direttamente i comandi incorporati.
Nel caso di comandi implementati dall'applicazione, richiama l'applicazione per eseguirli. In molti casi i comandi eseguiranno invocazioni ricorsive dell'interprete Tcl passando ulteriori stringhe da eseguire (in effetti procedure e comandi per cicli condizionali lavorano tutti in questa maniera). Un'applicazione può ottenere molti vantaggi utilizzando Tcl come proprio linguaggio di controllo:
È importante notare che Tcl è stato progettato pensando che il programmatore dovrebbe effettivamente usare due o più linguaggi nel progettare grandi sistemi software: uno per manipolare complesse strutture dati interne, o quando le prestazioni sono importanti; un altro, come Tcl, per scrivere script molto piccoli che uniscano gli altri pezzi, fornendo agganci all'utente che consentano di estendere l'applicazione.
Per l'autore di script Tcl, la facilità di apprendimento, la facilità di programmazione e la facilità di unire le cose sono più importanti delle prestazioni o delle facilitazioni per strutture dati o algoritmi complessi.
Tcl è stato progettato per rendere semplice il passaggio ad un linguaggio di programmazione a più basso livello, quando si incontrano compiti che a quel livello hanno più senso. In questo modo le funzionalità di base del nucleo possono rimanere piccole, permettendo di utilizzare solo quei pezzi particolarmente desiderati o di cui si ha necessità.
Si può trovare una risposta alla domanda "Che cosa è Tcl?" su www.NeoSoft.com/tcl /whatistcl.html .
Tk (pronunciato come si pronuciano t e k in inglese: "ti-chei") è una estensione di Tcl che fornisce al programmatore un'interfaccia al sistema di finestre X11. Si noti che il Tk è stato compilato con successo sotto X11 R4, X11 R5 e X11 R6, oltre che gli ambienti di Sun NeWS/X11.
Molti utenti incontreranno Tcl/Tk per via del comando "wish", che è una semplice shell a finestre che permette di scrivere appliazioni Tcl/Tk in un ambiente di prototipazione.
Al momento Tcl/Tk non può gestire caratteri giapponesi, cinesi, coreani...
Visto che Tcl è così semplice da estendere, molti cercano di condividere le estensioni, incluse le popolari itcl, [incr Tcl], ObjectTcl, TclX, Tix e BLT.
Ovviamente queste estensioni richiedono un interprete Tcl esteso. Inoltre molte applicazioni Tcl libere richiedono una particolare estensione di Tcl per funzionare.
Una delle più popolari estensioni è Expect. Permette di inserire un front-end amichevole all'interno della maggior parte delle applicazioni UNIX basate su comandi da riga di comando, come ftp, telnet, rlogin, passwd, fsck e così via.
Si può trovare una lista completa di estensioni di Tcl/Tk all'URL www.scr iptics.com/resource/software/extensions/.
Questa sezione contiene informazioni su Tcl 8.0 e Tk 8.0, la versione più recente di Tcl/Tk. Sono state rilasciate il 18 agosto 1997 ed il rilascio più recente della patch (8.0.3) è stato fatto il 3 settembre 1998.
Quando si scaricano Tcl e Tk si ottengono due programmi, wish e tclsh, che supportano librerie di script, e documentazione di riferimento in linea. Questi programmi sono piattaforme generiche per scrivere applicazioni con Tcl. Wish include Tk, il toolkit per l'interfaccia grafica per l'utente. I pacchetti sono pronti all'uso dopo l'installazione.
Tcl 8.0 e Tk 8.0 funzionano sulla maggior parte dei rilasci dei seguenti sistemi operativi:
La maggior parte delle distribuzioni moderne includono Tcl e Tk. Pacchetti rpm e deb con binari precompilati sono disponibili con le distribuzioni Red Hat, SuSE e Debian (rendendo l'installazione più facile).
L'installazione di una distribuzione moderna includerà Tcl/Tk, visto che è necessario per molti strumenti di configurazione operanti principalmente sotto X.
Tcl e Tk sono distribuiti liberamente sotto forma di sorgenti via Internet. Non ci sono restrizioni al loro utilizzo e non è necessaria nessuna licenza o royalty (vedere la sezione license.terms per informazioni complete).
Sono disponibili liberamente molti altri script ed estensioni Tcl/Tk.
Il nucleo Tcl/Tk consiste delle librerie Tcl e Tk, più le applicazioni wish e tclsh, la documentazione associata, le librerie di script e le applicazioni dimostrative. Il sito FTP primario per queste informazioni è ftp.scriptics.com/pub/tcl/.
Il sito HTTP primario è www.scriptics. com/software/download.html .
A meno che siano già disponibili i pacchetti proprietari per la distribuzione in uso, si vorrà scaricare il rilascio dei sorgenti. Saranno necessari i sorgenti sia di Tcl che di Tk. Questa procedura si riferisce al secondo caso.
Si scelga tra i formati tar compresso o tar compresso con gzip.
File tar compressi
Sorgenti Tcl (tcl8.0.3.tar.Z): file tar compressi (circa 2.4 Mbytes). Sorgenti Tk (tk8.0.3.tar.Z): file tar compressi (circa 3.3 Mbytes).
File tar compressi con gzip
Sorgenti Tcl (tcl8.0.3.tar.gz): file tar compressi con gzip (circa 1.5 Mbytes). Sorgenti Tk (tk8.0.3.tar.gz): file tar compressi con gzip (circa 2.1 Mbytes).
Quando si recupera uno di questi file si ottiene un file tar compresso con un nome tipo tcl8.0.3.tar.gz o tcl8.0.3.tar.Z. I file sono identici ad eccezione della tecnica di compressione utilizzata per comprimerli (i file .gz sono in genere più piccoli dei file .Z).
A seconda della versione del rilascio recuperato, per estrarre la distribuzione invocare i comandi di shell come segue:
gunzip -c tcl8.0.3.tar.gz
o
tar xf - zcat tcl8.0.3.tar.Z
o
tar xf - unzip tcl80.3.zip
Ognuno di questi comandi creerà una directory chiamata tcl8.0.3, che include i sorgenti per tutte le piattaforme, la documentazione e la libreria di script per Tcl 8.0. Per compilare e installare la distribuzione seguire le istruzioni contenute nel file README nella directory di distribuzione. Ci si assicuri di compilare Tcl prima di Tk, dato che Tk dipende da informazioni contenute in Tcl.
Ci sono molti altri pacchetti disponibili liberamente per Tcl e Tk, inclusi sia script scritti in Tcl che estensioni scritte in C o C++. Questi pacchetti includono applicazioni per basi di dati e accessi a reti, un costruttore di interfaccia grafica per l'utente, il progamma expect, controlli Tk addizionali e dozzine di altre cose . Il sito primario per l'archivio Tcl/Tk è ftp.neosoft.com/pub/tcl.
Molti altri siti in giro ospitano una copia di tutto o di una parte del materiale del sito principale e dell'archivio dei contributi; si possono trovare informazioni più utili da recuperare da siti mirror vicini alla propria posizione.
Scaricare via ftp il file "0_mirror" all'indirizzo: ftp.scriptics.com/pub/tcl/ per una lista dei siti mirror del paese di appartenenza.
Si faccia sempre riferimento alla versione più recente raccomandata nella sezione "Nucleo Tcl/Tk" della
pagina centrale per il software di Scriptics.
Al momento della scrittura di questo documento, i rilasci raccomandati sono gli ultimi (Tcl 8.0.3 e Tk 8.0.3) risalenti al settembre del 1998. Tcl 8.0 contiene un nuovo compilatore di bytecode che può accelerare l'esecuzione di un fattore 2-10x. Fornisce anche spazio di nomi, I/O binario e molte altre nuove funzionalità.
Tk 8.0 è il primo rilascio a fornire l'aspetto e le funzioni native su Macintosh e PC. Tk 8.0 supporta anche l'integrazione di applicazioni, e ha un nuovo meccanismo di tipi di caratteri portabile. Sia Tcl 8.0 che Tk 8.0 forniscono caratteristiche addizionali all'interno del modello di sicurezza Safe-Tcl.
Si usi comp.lang.tcl per comunicazioni pubbliche.
L'alternativa sarebbe spedire problemi, suggerimenti, nuove idee ecc. direttamente all'autore. Inviare un'email a John Ousterhout raggiungerà l'autore di Tcl e Tk.
Nel riportare problemi o bug ci si assicuri di menzionare tutti i dettagli necessari per una corretta diagnosi. Fondamentalmente si deve descrivere quale hardware, sistema operativo e versione di Tcl/Tk si sta usando, se si è fatta qualche modifica o aggiunta e fornire, se possibile, un piccolo pezzo di codice o un URL contenente un po' di codice che dimostri il problema.
Se si ha del software da cui la comunità potrebbe trarre beneficio (che sia un programma, una funzione, un'estensione o un semplice esempio), o se si ha un documento, articolo di rivista o giornale, tesi, progetto, o anche una pubblicità commerciale, ci si assicuri che le persone appropriate lo sappiano.
Ci sono curatori di FAQ per ognuna di queste aree, oltre ad un newsgroup comp.lang.tcl.announce che può essere usato.
Vale sempre la pena inviare i propri contributi direttamente al sito ftp, così in futuro più persone potranno beneficiare della propria esperienza.
Per fare annunci nel newsgroup comp.lang.tcl.announce , spedire una email con i dettagli a tcl-announce. Ci si senta anche liberi di fare riferimento al proprio sito ftp o WWW se disponibile.
Dato che Tcl è un linguaggio interpretato, per eseguire un programma Tcl (chiamato anche script) normalmente si passa il file di script all'interprete Tcl, wish, per esempio:
wish hello.tcl
Si può usare wish anche in modalità interattiva e inserire comandi dalla riga di comando.
C'è un'altro interprete Tcl standard, tclsh, che comprende solo il linguaggio Tcl. Tclsh non ha nessuno dei comandi per l'interfaccia per l'utente di Tk, dunque non si possono creare programmi grafici con tclsh.
Alcune applicazioni Tcl libere estendono il linguaggio Tcl aggiungendo nuovi comandi scritti come funzioni C. Se è questo il caso, è necessario compilare l'applicazione invece di limitarsi a passare il suo codice Tcl all'interprete wish. Questa applicazione, dalla prospettiva di Tcl, è effettivamente una nuova versione dell'interprete wish, a cui i nuovi comandi C vanno collegati. Naturalmente, l'applicazione potrebbe essere molto più complicata di un mero interprete Tcl (Nota: si può usare anche la capacità di autocaricamento di Tcl su sistemi che lo supportano).
Tcl ha una struttura semplice. Ogni linea comincia con un comando, come un bottone, ed una serie di argomenti. Ogni comando è implementato come se fosse una funzione C, che è responsabile della gestione di tutti gli argomenti.
Come esempio molto standard, quanto segue è il programma Hello World in Tcl/Tk:
# Questo è un commento button .b -text "Hello World" -command exit pack .b
In questo caso bisogna scrivere i comandi interattivamente in tclsh o wish.
I comandi possono anche essere inseriti in file di script da invocare come script di shell. Per farlo nell'esempio precedente, si riscriva il programma Hello World come segue:
#! /usr/local/bin wish -f button .b -text "Hello World" -command exit pack .b
Si inserisca il testo all'interno di un file chiamato Hello e ci si assicuri che wish sia installato in /usr/local/bin (altrimenti sarà necessario cambiare opportunamente il percorso).
Si renda il file Hello eseguibile lanciando il comando
chmod 775 Hello
e lo si esegua in X.
Si vedrà un bottone etichettato Hello World all'interno di una finestra: cliccandolo la finestra verrà chiusa.
Per capire l'importanza ed il futuro di Tcl/Tk suggerisco fortemente di puntare il proprio browser web all'URL www.scriptics .com/people/john.ousterhout/ di John K. Ousterhout . Vi si leggerà l'importanza e il paragone tra scrivere script (in linguaggi come Tcl) e programmazione di sistema (in languaggi come C e Java).
Per leggere un documento di natura comparativa vedere la discussione comparativa.
Qui c'è un sommario dei più importanti pro e contro su Tcl/Tk.
I dati sono principalmente trattati come stringhe, i programmi scritti in Tcl sono lenti. Tcl 8.x cerca di affrontare il problema facendo un certo grado di compilazioni oltre a consentire ulteriori tipi di variabili.
I commenti sono comandi piuttosto che commenti tradizionali, i numeri che cominciano con 0 sono ottali, uso appropriato dei meccanismi di citazione, ecc. Questi aspetti sono coperti nelle varie FAQ.
Si deve scrivere molto meno codice per compiere lo stesso lavoro, specialmente se paragonato ad applicazioni Motif o Win32. In generale, il numero delle Linee di Codice (Line of Code: LOC) di un progetto software è uno dei più importanti indici di complessità.
Si possono ottenere i sorgenti liberamente da Internet dalla pagina di scaricamento di Scriptics o dal sito FTP per Tcl. Il sito del nucleo del software include la versione del codice sorgente, oltre alle versioni binarie per piattaforme Windows e Macintosh; oppure si può ottenere Tcl su un certo numero di CD-ROM per un costo nominale.
Si legga liberamente a proposito del nucleo di Tcl e Tk da www.scriptics.com/about/n ews/qa.html .
Esistono versioni per UNIX (Linux... naturalmente), Windows e Macintosh. Ad eccezione di poche differenze per piattaforma, gli script Tcl funzioneranno nello stesso modo su tutti i sistemi.
Si può eseguire il codice direttamente senza compilarlo e farne il link (anche se sono disponibili compilatori Tcl).
È facile aggiungere propri comandi per estendere il linguaggio Tcl. Si possono scrivere comandi in C o Tcl.
L'interprete Tcl è semplicemente un insieme di funzioni C che possono essere chiamate dal proprio codice. Questo significa che si può usare Tcl come un linguaggio d'applicazione, in maniera molto simile ad un linguaggio macro per un'applicazione di foglio elettronico.
Si legga cosa dice a proposito di questo argomento l'inventore del nucleo di Tcl e Tk www.scriptics.com/Y2K.html .
A parte le due applicazioni descritte nell' introduzione, ci sono molte applicazioni scritte in Tcl/Tk o una combinazione di Tcl e C. Una lista completa in cui cercare queste implementazioni è la parte 4 della frequently-asked questions su Tcl/Tk (FAQ). Suggerisco di visitare
Un altro buon punto di partenza è www.NeoSoft.com/tcl/.
Una delle migliori applicazioni Tcl funzionanti sotto Linux è chiamata TkDesk, un manager di finestre e programma per il lancio delle applicazioni che lavora molto bene.
Sviluppatori di Tcl/Tk su Linux si sentano liberi di scrivermi uno URL (e una descrizione del lavoro) che possa qui inserire.
Per molte ragioni alle persone piace spesso avere un manuale stampato come riferimento o un aiuto da altri in linea.
Qui si può trovare una selezione di libri di riferimento, tutorial, siti web e newsgroup.
Sono stati scritti e pubblicati molti libri riguardanti Tcl/Tk. Non cercherò neppure di elencarli tutti (un altro howto non sarebbe sufficiente : ) ). Si possono trovare più informazioni e ulteriori note all'indirizzo:
Qui cercherò di fare un sommario con qualche nota dei libri che conosco riguardanti l'argomento, sono tutti ad un livello base-intermedio. Inoltre, chi conosce l'argomento ha sufficienti informazioni su dove trovare libri di livello avanzato.
Autore: John K. Ousterhout
Informazioni sul web a proposito del libro: cseng.aw.com/bookdetail.qry?ISBN=0%2D201%2D63337%2DX&ptype=0
Esempi del libro: ftp.script ics.com/pub/tcl/doc/book.examples.Z
Supplementi del libro: www.scriptics.com/doc/tk 4.0.ps
Il ibro copre principalmente Tcl 7.3 e Tk 3.6.
Autore: Brent Welch
Informazioni sul web a proposito del libro: www.beedub.com/book/
Indice del libro: www.beedub.com/book/
Informazioni di promozione del libro alla pagina section_50000.html dello URL www.borders.com/sections/
Questa edizione aggiornata descrive Tcl / Tk 8.0 com'era durante il periodo di rilascio della versione beta. Insieme al materiale dalla prima edizione, copre anche socket, pacchetti, spazio di nomi, una grande sezione che descrive i cambiamenti in Tcl 7.4, 7.5, 7.6 e 8.0 (ed anche Tk), Safe Tk ed il Plugin.
Curatore: Donald Barnes, Marc Ewing, Erik Troan
Informazioni sul web a proposito del libro: www.lsl.com/catalog/bo oks/tcltk/
Autore: David Young
Informazioni sul web a proposito del libro: www.amazon.com/exec/obidos/ISBN=013461674X/u/7141-5908756-107481
Una guida completa per Visual TCL. Questo libro conduce il lettore dai concetti base per lo sviluppo di interfacce grafiche per l'utente a significativi sviluppi di applicazioni. Il libro si concentra sulle estensioni TCLX e VT, affrontando parecchi argomenti fondamentali di TCL. VT è un'interfaccia grafica per l'utente basata su Motif, incompatibile con Tk. L'intero linguaggio TCL è documentato in una sezione Comandi separata. È venduto con un CD-ROM che include versioni di Visual Tcl per SGI, Solaris, HP-UX, AIX e Unixware.
Autori: Matt Welsh e Lar Kaufman
Informazioni sul web a proposito del libro: www.ora.com/ca talog/runux2/noframes.html
Running Linux è un libro base scritto veramente bene. Contiene un capitolo sulla programmazione usando Tcl/Tk. (e Perl, C, C++).
Autore: Timothy Webster con Alex Francis
Informazioni sul web a proposito del libro: www.dummies.com/
Un altro libro della serie dei tascabili dedicati alla programmazione. Questo si concentra sul plugin di Tcl come ambiente di programmazione.
Autori: Michael Doyle Hattie Schroeder
Informazioni sul web a proposito del libro: www.eolas.com/tcl/
Questo è un libro d'insegnamento tramite esempi, per persone che conoscono già qualcosa della programmazione, senza esserne esperti. Copre lo sviluppo di applet e di applicazioni indipendenti e semplici applicazioni per server. Il libro fornisce il toolkit Spynergy, che aggiunge una varietà di procedure in puro Tcl/Tk per l'elaborazione distribuita, il recupero di URL, la rappresentazione HTML, la gestione di basi di dati e di file in modo indipendente dalla piattaforma, Ed (un editor Tcl e un ambiente di prova), uno strumento di conversione d'immagini, un demo sulle caratteristiche di Tk, una versione client/server di un'applicazione rolodex, un server web in puro Tcl, un'applicazione client/server di tecnologia push, un web browser in tcl,
C'è un gran numero di risorse WWW che forniscono ulteriori informazioni a proposito di molti aspetti di Tcl e delle sue estensioni.
Molto materiale è disponibile in Internet: saggi introduttivi, white paper, tutorial, slide, versioni postscript di libri pubblicati in bozze e molto di più.
Per un riferimento completo vedere l'eccellente Tcl-FAQs .
comp.lang.tcl è un newsgroup di Usenet non moderato, creato per la discussione del linguaggio di programmazione Tcl e di strumenti che usano qualche forma di Tcl, come il toolkit Tk per il sistema di finestre X, Tcl esteso ed expect.
Per annunci relativi a Tcl/Tk si faccia sempre riferimento a comp.lang.tcl.announce: si troveranno annunci di rilascio, patch, nuove applicazioni e così via.
Ancora, le faq possono essere recuperate da Tcl-FAQs.
I termini seguenti si applicano a tutte le versioni dei rilasci del nucleo di Tcl/Tk, al plug-in del browser per Tcl/Tk versione 2.0, e TclBlend e Jacl versione 1.0. Si noti che gli strumenti TclPro sono sotto un'altro accordo di licenza. Questo accordo fa parte della distribuzione standard di Tcl/Tk come file chiamato "license.terms".
TERMINI DI LICENZA TCL/TK
This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permissi on to use and distribute the software in accordance with the terms specified in this license.