domingo, 22 de agosto de 2010

Lenguaje de Programación TCL /TK

Anteriormente hablamos un poco sobre lo que era programación y sobre los paradigmas de los lenguajes, ahora nos enfocáremos un poco a un lenguaje de programación que entra en la categoría multiparadigma, ya que en si este posee varias características de varios paradigmas. Nos referimos al lenguaje de programación TCL y profundizaremos un poco en su extensión TK

TCL por sus siglas en ingles (Tool Command Language) o en español “Lenguaje de Herramientas de Comando” es un tipo de lenguaje de programación perteneciente a la categoría de lenguajes script (Lenguaje Interpretado) - Para que no halla confusiones, mas adelante estudiaremos más a fondo los distintos tipos de lenguajes script, ya que estos lenguajes no pertenecen a algún tipo de paradigma en especifico, ya que poseen características de varios paradigmas.-

Este fue creado por John Ousterhout con la finalidad de crear un lenguaje con una sintaxis sencilla pero sin decaer en su funcionalidad.

El principal uso que se le da al lenguaje, es para el desarrollo rápido de prototipos, pruebas, aplicaciones script e interfases graficas.


Tcl es un lenguaje de comandos, cuyo intérprete recibe el nombre de tclsh (tclsh80 para Tcl/Tk 8.0), que tiene como una de sus principales características la gran facilidad con la que se pueden implementar funciones en C/C++ que pasan a ser nuevas instrucciones del intérprete. Es decir, se pueden embeber aplicaciones en C/C++ dentro del propio intérprete de Tcl; de esta forma es posible obtener nuevas versiones de Tcl, denominadas extensiones, que no dejan de ser otra cosa que intérpretes que agregan a los comandos originales de Tcl nuevos comandos escritos en C/C++.

La extensión más conocida, que es donde profundizaremos es Tk (Tool Kit). Tk, creada por el propio John Ousterhout, proporciona un intérprete denominado wish (para Tcl/Tk 8.0, wish80), que añade a los comandos de Tcl, comandos capaces de crear interfaces gráficas de usuario. Es decir, Tk permite crear ventanas, botones, menús, barras de scroll, y toda una serie de elementos, propios de la programación con ventanas.


Este lenguaje esta disponible para varias plataformas, entre ellas Linux y Windows. El editor que utilizaremos será para Windows ya que mucha gente no esta familiarizada con el uso de Linux, de igual manera si queremos programar en esta plataforma, podremos utilizar el editor emacs.En si el editor de TCL no posee capacidad grafica, en Windows se utiliza una interfaz de ms-dos como la siguiente:
Cabe mencionar como nosotros utilizaremos en conjunto TCL con la extención TK este editor combinado ya posee una interfaz grafica como la siguiente:


Desde aquí comenzaremos a programar en TCL/TK.

Ahora pasaremos a una breve descripción de sintaxis, primeramente con variables, luego con estructuras de control y por ultimo operaciones.
El comando set es usado para asignar un valor a una variable. Toma dos argumentos, el primero es el nombre de la variable y el segundo el valor que debe tomar esa variable. No es necesario declarar en Tcl las variables que se van a usar. El intérprete crea la variable cuando esta se utiliza por primera vez . El valor de la variable puede obtenerse mediante el signo $.
Ejemplo:
------------------------------------------------------------------
% set a 12
12
% set b $a
12
% set b 12
--------------------------------------------------------------------------------

En este ejemplo puede verse cómo inicialmente se asigna el valor 12 a la variable "a"; posteriormente se asigna el valor contenido de la "variable a" la "variable b", que lógicamente toma el valor 12.
No profundizare demasiado ya que todos estos conceptos vienen en el manual que pondré mas adelante y seria imprudente realizar un "copy page" .Esta explicación es para dar una breve noción de como podemos trabajar con este lenguaje.
Las operaciones y las estructuras de control tienen cierta similitud a lo que vimos anteriormente en el Lenguaje C, por lo que no será de gran dificultad para nosotros, igualmente en el manual que pondré mas adelante esta explicado con claridad.

Ahora un programa escrito en TCL/TK el clásico "Hola mundo! "
-------------------------------------------------------------------------------

button .hola -text "Hola Mundo" -command {puts "Hola Mundo!!!"}



pack .hola -padx 20 -pady 10
--------------------------------------------------------------------------------

Esto nos imprimirá una pantalla como la siguiente:
Como podemos observar y como mencionamos antes, es un lenguaje muy util a la hora de realizar puequeñas aplicaciones graficas y muy eficientes, ademas con su sintaxis sencilla, no es de gran  dificultad utilizar este lenguaje, yo creo que vale la pena adentrarse un poco en el  ;)

Bueno ahora si les dejo unos cuantos links, con informacion y herramientas necesarias para programar en este lenguaje.

Manual de TCL / TK en español
http://www.etsimo.uniovi.es/tcl/tutorial/

El editor que utilizaremos bajo la plataforma Windows. (Link directo)
http://prdownloads.sourceforge.net/tcl/tcl805.exe

Aquí un blog con varias aplicaciones programadas en TCL/TK
http://txtplano.blogspot.com/search/label/tcl

Manual de TCL/TK (En ingles)
http://www.beedub.com/book/

Y unas cuantas referencias en Internet
* http://es.wikipedia.org/wiki/Tcl
* http://en.wikipedia.org/wiki/John_Ousterhout
* http://www.tcl.tk/about/history.html
* http://www.tufuncion.com/diferentes-lenguajes-programacion
* http://es.wikipedia.org/wiki/Script








7 comentarios:

  1. muy bueno tu reporte guillermo
    entonses tu recomendarias este lenguaje de programacion

    ResponderEliminar
  2. hola oscar, claro que si, ya que su sintaxis es sencilla y facil de aprender aparte de ser muy flexible si requerimos desarrollar alguna aplicacion grafica sencilla. muy util ;)

    ResponderEliminar
  3. Bien hecho. Te pongo tres por el reporte y un punto por participación.

    ResponderEliminar
  4. Excelente tu entrada muy completa y muy bien diseñada.
    También la información muy completa
    Excelente aporte.

    ResponderEliminar
  5. Interesante post, en lo personal estoy familiarizado con los scripts y consolas en linux, pero quisiera conocer si alguien ha tenido la experiencia de conectar un script TCL/TK con Scilab, ya que ando buscando crear modelos matematicos gráficos y me gustaría concer mas sobre el tema. Les agradeceria mucho si me pueden comentar algo sobre esto.

    ResponderEliminar
  6. Buenas tardes, Guillermo el link del manual en español estta caido, si me lo tienes y me lo puedes llegar a mi correo te lo agradeceria. Gracias kendall182@gmail.com

    ResponderEliminar