TCL/TK - El hermano pobre
|
|
Por runlevel0
departamento Fauna-en-peligro , Sección Desarrolladores Puesto a las Tue Sep 24th, 2002 at 10:52:51 AM CET
|
|
Un pequeño, flexible y amable lenguaje de programación y GUI apto para todos los públicos.
Hoy en día dejado de lado por muchos, pero que sigue siendo la solución ideal para crear GUIs para esos casposos scripts bash de cosecha propia que tenías por ahí.
|
Bueno, como programador la verdad es que soy un cero a la izquierda, no (sólo) por malo, sino por ¿vago? bueno, más bien por falta de tiempo, trabajando jornada completa te quedan sólo los fines de semana y a veces uno está tan estresado.
Así que estuve buscando el lenguaje ideal para hacer QADC (Quick And Dirty Code, Código Rápido Y Sucio).
Ya que sabía C y (por supuesto) Bash, me decidí primero por Python, cuya sintaxis se parece además a Octave, dado que en primera instancia lo que pretendía era crear pequeños programas para realizar cálculos matemáticos.
Hacía tiempo que conocía aplicaciones TCL/TK: aquél fantástico Tkdesk ideal para usarlo FVWM2
y con el que no echabas a faltar KDE, ni Konqueror (bueno, cuando empecé a usarlo no existían...), Tkrat, un programa de correo bastante bueno y por supuesto nuestro viejo conocido: el xconfig del kernel (!)
Mi primera aproximación a TCL/TK fue un día hace ya muuucho tiempo, en mis primeros años con Linux, ayá por el 1995 / 96, cuando estaba instalando una SuSE 5.3 y me fijé en spectcl un primitivo constructor de GUI para TCL/Tk, pero con un aspecto bastante conseguido.
Nunca hice nada con él, sólo algúna prueba del tutorial y allí se quedó olvidado.
Hace un par de años descubrí Visual TCL y me llamó la atención, así que me fuí a google y busqué todo lo que pude sobre TCL/TK:
El lenguaje me apasionó, ¡era exáctamente lo que necesitaba!
TCL es un lenguaje de script, más fácil que Perl o incluso que Bash (o por lo menos más "claro"), con algunas de las carácterísticas de Python en cuanto a listas, y casi lo mejor:
me permitía correr otros ejecutables ajenos a TCL/TK con una facilidad pasmosa, tan fácilmente como desde un script de bash. Eso unido al hecho de que crear un GUI es trivial, tan trivial que al final puedes olvidarte de los entornos tipo VisualTCL, XF u otros: Ya publique por aquí mi "Zenfire", un firewall mínimalista con gui y todo en apenas 35 lineas, la mayoría espacio en blanco.
Existe un plétora de entornos para crear GUIs, librerías para las más variadas aplicaciones.
Además puedes encontrar utiliades de ayuda como tclhelp o el muy didáctico TclTutor
La característica más curiosa de TCL es que se trata de un lenguaje es su forma de usar las variables; una vez definida una variable esta puede ser usada para crear órdenes nuevas al vuelo, ya que lo que hace el intérprete (TCL/TK es un lenguaje interpretado) es "expandir" la variable:
set com "make"
set mod "modules"
set mod_i "modules_install"
exec [puts "$com $mod \&\& $com $mod_i" ]
Esto por ejemplo daría como resultado que se ejecutara:
make modules && make modules_install
Evidentemente este ejemplo es bastante absurdo, pero basta para hacernos una idea.
TCL/Tk tiene a mis ojos, la principal virtud de ser asequible para el usuario medio que podría querer símplemente ponerle un GUI a ese scriptcillo que tiene por ahí, pero también es posible hacer cosas ma complejas, puede incluirse código en C o C++ o puede usarse para crear el GUI para aplicaciones en cualquier lenguaje (basta crear el layout en vtcl y usar órdenes exec asociadas a los diferentes eventos).
En fin, puede que sea considerado un "apestado" por los que usan toolkits como GTK o QT con sus Glade y sus Kdevelop, pero TCL/TK es un encanto de lenguaje, tal vez no sea el más rápido, ni el más 31337, tal vez no se quede tan bien como cuando se dice "piloto Perl", pero es para mí un lenguaje pequeñito y amable que me ha llegado al corazón. Es por eso que me da verdadera lástima que esté bajando progresivamente de popularidad en favor de Python, Perl y otros, que ni mucho menos desmerecen, pero no son TCL/TK.
|
|
|