Remember Tcl/ Tk? Grandpa might be old, but he can still kick your ass!

Accepted Session
Short form
Scheduled: Wednesday, June 17, 2009 from 10:00 – 10:45am in Broadway


Rumors of its senescence -- at least lack of stylishness -- to the contrary, Tcl/Tk is still one of the best scripting environments around. I will show you why.


Even though Tcl/ Tk is purported to be so “1993” (see ), it can actually provide a more advanced rapid development environment than the more popular scripting languages that start with “P” and “R”, supporting built in templating abilities, built in event-loop and callback structures, trivial-to-learn syntax, powerful and simple C extension facilities, a generous license, wide cross-platform deployment (out-of-the-box on Mac OS X, Windows, and all Unix flavors), and the simplest GUI development system in production today.

This session will showcase the unique features of this excellent “old-school” language. We will help potential users overcome their disorientation at the lack of parentheses and equal signs and automatic derefencing. We will show them how to write simple and powerful interactive and event-driven programs that run anywhere.

We will do this with an extended example — “tksed”, a hack I wrote to combine interactivity with stream editing. Tksed processes a file by grabbing each line in turn and applying a regular expression (the “sed” part). It displays the line both before and after applying the regular expression, and allows the user to edit the regular expression and the output line. The user can try different RE’s, test the results, reapply various RE’s to the current line without output, skip lines, edit the outpost after RE transformation, or non-interactively apply the RE to the remaining lines. This interactivity comprises the “tk” part.

This session is perfect for scripters searching for the perfect four line GUI, programmers bored/annoyed by the rococo syntax of their current language, and anyone who has ever felt the need for a built in event loop.

Speaking experience