by Webb Sprague
Even though Tcl/ Tk is purported to be so "1993" (see http://radar.oreilly.com/2009/03... ), 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.
by Andy Grover
John Ousterhout, the inventor of TCL, observed that languages could be grouped into "scripting" and "system" categories, with very few falling in-between.
I believe not only that all working programmers should be familiar with at least one of each, but that familiarity with scripting language X will make one a _better_ programmer in system language Y, and vice versa. This talk will discuss the lessons each has for the other, using C and Python as primary exemplars, but also touching on other popular languages from both camps, and those that have attempted to bridge the gap.
17th–19th June 2009