Tcl/Tk 9.1 llega con soporte para lectores de pantalla y texto bidireccional
Tcl/Tk 9.1 Released
Tcl/Tk 9.1.0 añade accesibilidad con lectores de pantalla y soporte inicial para texto bidireccional y lenguajes RTL en Tk. En Tcl, incorpora la normalización Unicode, el comando timer con reloj monotónico y resolución de microsegundos, y nuevas opciones para subst y switch. También mejora la eficiencia de listas grandes y exige llamar a Tcl_FindExecutable o TclZipfs_AppHook al iniciar las aplicaciones.
Tcl/Tk 9.1.0 es el trabajo de desarrollo actual sobre Tcl y Tk, orientado a versiones estables en septiembre de 2026.
- srean
Tengo debilidad por TCL, por sus idiosincrasias y su extraña y dinámica juguetonería con las cadenas. Sería cauteloso al usarlo profesionalmente, pero para jugar por diversión... es simplemente demasiado divertido. Upvar y uplevels son una locura.
Python es ese tipo genial que se comporta bien cuando visita a los padres de tu futura pareja por primera vez. Tcl, en cambio, es como jugar a juegos secretos, exclusivos y un tanto peligrosos con tu mejor amigo del colegio.
Tcl/Tk fue pionero en la noción de un lenguaje de scripting como biblioteca. Acertó con el threading. Puedes ejecutar múltiples intérpretes Tcl independientes en el espacio de direcciones de tu proceso y pueden intercambiar mensajes. La totalidad del estado del intérprete está encapsulada dentro del objeto intérprete, sin globales. Para un usuario es solo un puntero a un objeto.
No se necesita GIL, no se necesita serialización/deserialización (pickle/unpickle)... solo copia en memoria dentro del proceso (o sin copias en caso de que los datos sean inmutables).
- ripe
Tcl es ciertamente un poco raro y requiere acostumbrarse, pero he encontrado que vale la pena aprender sus idiosincrasias, particularmente porque mis aplicaciones usan sqlite, que encaja muy naturalmente con Tcl.
De D. Richard Hipp [1]:
"SQLite es una extensión de TCL que se ha escapado a la naturaleza.
"El diseño de SQLite se inspiró en el diseño de TCL, tanto en la forma en que maneja los tipos de datos como en el formato de su código fuente. El caso de uso principal para SQLite estaba en una aplicación Tcl/Tk para una empresa industrial. Desde su creación, SQLite siempre ha dependido en gran medida de TCL. Hoy en día, SQLite ya no usa TCL internamente y puede ejecutarse separadamente de cualquier intérprete TCL, y sin embargo el proceso de desarrollo de SQLite todavía depende en gran medida de TCL."
[1] https://www.tcl-lang.org/community/tcl2017/assets/talk93/Pap...
- neilv
El mayor atractivo inicial de Tcl fue Tk, como una forma relativamente fácil de hacer programas GUI suficientemente buenos con código abierto en Unixes y el X Window System. Incluso mucho más fácil que los toolkits de X más fáciles de usar como XView con C, y las alternativas solo se volvieron más difíciles a partir de ahí. No había frontends web.
Tcl en sí era bastante ingenioso como lo que yo llamaría un lenguaje de scripting basado en cadenas (en contraste con Bourne/C-shell/etc. que lo precedieron en Unix).
Originalmente, Tcl estaba entre el puñado de lenguajes de extensión listos para usar. Escribes tu gran aplicación en C o C++, y luego incrustas un intérprete para un lenguaje de extensión de alto nivel, para que los usuarios o el desarrollador original añadan funcionalidad. Las opciones en ese momento eran generalmente un pequeño Lisp/Scheme, Tcl, Python, o algo completamente hecho a medida y probablemente peculiar y a medias.
Durante los primeros dotcoms, hubo un interés considerable en Tcl para trabajo de backend, y tampoco habría sido la peor elección para poner en el navegador. Como Python, Tcl habría sido más accesible y democratizador de la Web que JavaScript, y ya existían diseños e implementaciones sólidos listos para usar. (Scheme habría parecido un poco más intimidante que Python o Tcl, y era más poderoso, que creo que fue la razón por la que Tim Berners-Lee prefirió Python sobre Scheme como el lenguaje de programación del pueblo para diversos propósitos web. La semántica del JavaScript que obtuvimos era más un apresurado Scheme de juguete, más el modo de objeto más simple [...]
- trebligdivad
Tcl/Tk tiene que ser el sistema GUI más fácil que existe; puedes poner en marcha cosas simples sin esfuerzo - nada de lo que he visto se acerca a esa simplicidad.
Bueno ver que está recibiendo algo de soporte moderno.
- qalmakka
Tcl es un lenguaje demasiado inteligente para su propio bien. Me encanta cómo todo es una cadena o se puede hackear sobre una cadena, así que básicamente puedes hacer niveles de metaprogramación que alcanzan niveles nunca vistos
- neofytos
Felicidades a la comunidad y al equipo central. Su dedicación a mantener Tcl/Tk como un estándar de oro de estabilidad, pragmatismo y desarrollo ligero multiplataforma es inspiradora.
- Aldipower
Una vez tuve un libro de O'Reilly llamado 'Perl/Tk'. Quiero decir, todavía lo tengo en algún lugar... ¿Tengo la sensación de que leerlo de nuevo se convertirá en mi terapia de recuperación de IA en algún momento?
- rtpg
¿Alguien tiene historias divertidas de cosas que construyó con tcl/tk? Siento que todavía hay espacio para pequeñas aplicaciones con él en teoría, pero tiendo a tener el problema de querer meter "texto enriquecido arbitrario" en mis cosas (-> la tecnología web de repente funciona bastante bien)