#!/usr/bin/tclsh
# This is a comment
puts "Hola Mundo!"
if { 0 } {
Este texto es un comentario
que puede extenderse varias lineas}
puts "Las cadenas en tcl
pueden ocupar varias lineas
sin tener que hacer nada especial"
TCL es un lenguaje muy veterano. Junto con TK, un toolkit gráfico, fué muy popular para desarrollar aplicación de ventanas antes de que las librerías de widgets modernas (Qt, GTK, FLTK, wxWidgets,…) fueran populares.
SABIAS QUE…
TCL es muy fácil de incluir en programas C y como os decíamos antes fue muy popular para añadir GUI a sencillos programas C. Los widgets te TK son icónicos y fácilmente reconocibles.
TCL es un lenguaje interpretado que en cierto modo recuerda a los lenguajes de macros por la forma en la que maneja las cadenas de texto.
La extensión de los programas TCL suele ser .tcl
.
Un rápido vistazo al programa, nos muestra como utiliza el caracter
#
para los comentarios, no necesita indicador de final de
instrucción y permite agrupar instrucciones utilizando {}
.
También nos permite definir cadenas de caracteres multi-lineas,
directamente.
TCL también utiliza puts
para imprimir cadenas sencillas
y añade automáticamente el retorno de carro.
El comentario multi-line es una muestra de lo que comentábamos
anteriormente. El texto dentro del bloque condicional if
,
el cual nunca se ejecutará ya que la condición 0 nunca puede ser válida,
es un texto que provocaría un error si se ejecutara, pero puesto que
nunca se podrá ejecutar, podemos poner lo que queramos dentro de esas
llaves que será ignorado impunemente.
Como siempre con los lenguajes interpretados, damos permisos y
utilizamos el intérprete correcto o she-bang
.
$ tclsh hola.tcl $ chmod +x hola.tcl $ ./hola.tcl
TCL fue creado por John Ousterhout en 1988 mientras trabajaba en la Universidad de Berkely California. El nombre viene del acrónimo Tool Command Language. TCL fue desarrollado como resultado de la frustración de los programadores creando sus propios lenguajes para incluirlos en otras aplicaciones.
TCL normalmente va junto con su extensión más popular conocida como TK (Toolkit). Esta extensión permite desarrollar interfaces gráficos para varios sistemas operativos, es decir, con un alto grado de portabilidad.
La facilidad para embeber TCL en programas escritos en C y la potencia y facilidad de TK para diseñar interfaces gráficos hicieron este tandem muy popular. Especialmente en aquellos tiempos en los que escribir una aplicación para toolkits como Motiff, o Athena era una tarea especialmente tediosa.
Hoy en día aún es posible utilizar TK desde otros lenguajes de programación para crear fácilmente interfaces gráficos. Tkinter para Python o el módulo Tk para Perl o Ruby, nos permiten crear ventanas, menus y botones de forma muy sencilla desde estos lenguajes de programación.
Si bien no vamos a utilizar TK en este libro ya que no vamos a escribir programas con interfaces gráficos, merece la pena echar un ojo rápido a la versión de nuestro hola mundo en TCL/TK:
#!/usr/bin/wish
# This is a comment
button .boton -text "Hola Mundo!!" -command { destroy . }
pack .boton
Este pequeño programa genera una ventana que contiene un botón con la
etiqueta Hola Mundo!
, el cual, al ser pulsado ejecuta el
comando destroy .
que efectivamente destruye la ventana
actual. La instrucción pack
añade el boton a la ventana
principla. Esa instrucción nos permite añadir los diferentes elementos
del GUI a las ventadas ofreciéndonos bastante control sobre como
“empaquetarlos” todo juntos.
Los programas TCL/TK hacen uso de un interprete diferente conocido
como wish
como podéis ver en la línea SheBang! al
principio del programa.
Resumen
- Lenguaje interpretado
- Extension:
tcl
- Terminador de líneas : Retorno de carro
- Agrupa instrucciones con :
{...}
- Comentarios multilinea : Posible utilizando
if {0}
- Comentarios misma línea:
#
- Delimitador de cadenas:
"cadena¨
o'cadena'
- Puedes imprimir textos con
puts
(Añade retorno de carro) - Soporta cadenas múltilínea
- No soporta
HERE-DOCS
- Punto de Entrada: Inicio del fichero
■