- Developer Tools
Jeff Hobbs, June 13, 2006
As I was pondering the subject matter with which to fill up some blog space under my name, an internet colleague recommended that I reflect on what has kept me enamoured with Tcl after all of these years. Good idea,...
As I was pondering the subject matter with which to fill up some blog space under my name, an internet colleague recommended that I reflect on what has kept me enamoured with Tcl after all of these years. Good idea, I thought. Little did I know what a trip down memory lane it would lead to ...
One of the googleplex features at Google Groups is the "About" page for any group, like this About comp.lang.tcl page. One of the great facets of comp.lang.tcl is its consistent high level of helpfulness, as others were remarking on last week. There were some references to this about page, noting the top posters. It turns out I end up about 2nd overall, behind the inimitable Larry Virden, maintainer of the Tcl FAQ and awfully helpful chap. In any case, not only can you see statistics about the group, but then you can drill down for any poster as well, seeing their entire posting history.
My first post for clt was Tuesday, February 7th, 1995, with a compilation issue for itcl. From my vague recollections of that time, I know I was using Tcl earlier, but in no significant way that made me resort to usenet. But why Tcl? Well, like many, it was primarily Tk. I needed a project to do some quick UI, and Tk presented itself to me (through some college friend at the time). Using it with Tcl was a basic prerequisite, and both were extremely easy to learn. My previous UI work had been Xlib and Motif ... I shudder to think of how I suffered with Motif to create robot control software.
So I came for the UI, but I stayed for many other features and nuances that made Tcl endearing. Sure, it's a simple language, which can be frustrating at times, but it neatly deals with many complex problems as well. First and foremost: user interfaces. Tk was a breath of fresh air for many. True, Tk has gotten stale with time, but new themed widgets along with its classic simplicity is breathing life into it again -- but that's the subject of another entry. In addition to Tk, there was the event loop (originally in Tk, moved into Tcl), the cross-platform handling that worked hard to really abstract the platform, networking made simple, and later unicode, true native threading, binary version independence for extensions (stubs), and the virtual file system. Sometimes the core coding for all this can get maddening, but the end result in Tcl is well worth it.
In addition to nice features, Tcl has always had a great community to work with. The core people have changed, others have ebbed in and out, but a consistent positive feel has been maintained. This is unfortunately not always the case, but I'm glad it has stayed so for Tcl. John Ousterhout, still in his programming/teaching days, was often there on the newsgroup answering questions, along with most of the core experts, exchanging ideas and assistance.
From that, I've gone from one job to the next with Tcl as the core focus, and I've enjoyed each one. Now some 7000 personal posts in comp.lang.tcl, countless lines of Tcl, one book assist, core maintainership, and numerous supported modules and applications later, I prepare the next post ... the Tcl browser plugin is now at v3.1. I hope people enjoy it!