How did you discover TCL/TK

trebor 7-5-6

It was about 2000, when I thought about platform-independent graphics/sound/gui/network via C/C++ and about a platform independent shell. I reminded myself of tcl/tk for gui and noticed it as a very good shell, too. I bought 2 books (dev-guide and welsh) and discovered the whole strength. The killing feature was/is the emacs-tcl-mode with its tcl-eval-region/defun (see emacs mode enhancement). Tcl/TK does all this things easily which you really do not want to do in C/C++. I infected at least 3 collegues with the Tcl/Tk virus ;)


Casey (7-4-2006)

In or around 1998 I wanted to create scripts for the Eggdrop bot. After finding a book (Ousterhout's) and trying to learn the language. I didn't successfully create anything until around 2000 (I am more a right-brained person than left), when I found an IRC client written in Tcl/Tk and still actively maintained. I then had a good and practical reason to learn the language.


GWL 4-Jul-2006 Picked it up out of the recycle bin.

Back in 1991 we were looking to make an expand/replace decision on a home grown language. I was talking to one of the other software architects on the project as we waited for some printouts from a rather slow laser printer. In midsentance he stopped, bent down and picked up a print out of the recycle bin -- it was JO's paper on Tcl/Tk from the Usenix conference that had taken place the week before. Our system admin was there but could not attend John's talks and wanted to read the paper, but had accidentally printed two copies. So one ended up in the safe-a-tree box and the rest, as they say, is history.


RJ 06/30/06 Through the back door. At UUNET, about 1999, Expect was in heavy usage for scripting network router and other device logins. I found an old script that had a while statement in it - not documented in the Expect man page. So I bought the Don Libe's Expect book. A whole new world opened up where EIAS and solutions are 25 lines or less. Then I found RS on the wiki - that number is much smaller now. ;)


wdb (2006-05-27) Theoretically, I knew of it since the early 90s, and from some freeware CDs of the c't (German journal on computers). Practically, I got to know it when starting the development of an application [L1 ], where the GUI was a must, and where Tcl/Tk provided better documentation related to Tk than Perl/Tk and Python/Tkinter.


unperson (26 May 2006) How did I discover TCL/TK? Through 3 excellent programs:

This has piqued my curiosity. Will gave a link to this site and this is how I learned of this site and of TCL.

But need I add: discovering this great programming language did not make a programmer out of me. I am still relying on others to program for me. I cannot be all things: at one point I have to limit myself to what I do best... And programming is not what I do best....


Robert Hicks I was using Perl/Tk to do some stuff (read small utilities) and decided to see what the Tcl part of it was.


Bryan Oakley I was heavily into perl and stumbled onto perl/tk (in the perl 3 days, circa 1994). After doing GUIs in Motif, OpenLook and a host of others, Tk was a breath of fresh air. A year later I saw a job ad for a tcl/tk programming gig and talked myself into the job. Perl was great at the time but I don't miss it one bit.


lexfiend I was studying at UC Berkeley (1988-1992) when I first stumbled across Tcl in my perennial search for new languages to fool around with. Even amongst such exotic languages as Smalltalk, FORTH, Perl, Lisp/Scheme and Glish, Tcl was unusual in that it was the only one that made me stop, think, tinker, and muster up enough energy and commitment to create and maintain both

  • the very first Tcl/Tk FTP Contrib Archive (the Web was non-existent, and even Gopher was almost unknown at the time), and
  • the first (at least to my knowledge) dynamic loading extension for tclsh, the spiritual ancestor to today's [load].

Alas, both seem to have disappeared completely. If anyone still has a copy of the dynload extension from 1992, please let me know at tee-cee-ell at zero-three-ess-dot-net. It would be nice to review my old code and ROTFLMAO. 8-)

Some folks, knowing my origins, have asked me whether JO and I had ever crossed paths. Well...

  • Yes, we were in the same department (EECS) though in different capacities.
  • Yes, I did spend a lot of time at Evans Hall, mostly in the labs and lecture halls.
  • No, I never took any of JO's classes.
  • No, we never met in the hallways, or the local Subway's, or anyways. (The subs at Togo's were better than those at That Other Place though. 8-)

JHJL Circa 1995 I chanced upon JO's book and saw the light - no more battling with Motif and X-Window toolkits. Programming became simple again :)


dzach Trying to find a voice pitch extractor, I fell on Snack and the Wavesurfer, and this new, "everything is a string" language, TCL.


LES I had been deeply frustrated since my teens for not being able to program. In 2001, I decided to learn it "at all costs". I started with PHP and Perl. Like a good geek, I also investigated many other options: Bash, ksh, awk, Ruby, Python, Lua, Java (first attempted in 1995), C, Pike, Rexx, VB, Javascript and WSH. I remember I saw a small Tcl/Tk quick reference manual in the bookstore, but the language looked rather strange. It also seemed pretty obscure, rarely ever had I seen any mention of it on the Internet. Two days later, a very experienced sys admin made interesting comments on Tcl in a PHP chat list and I thought I'd give it a try. My first contacts with Tcl were not good. Variable assignment with set and the abundance of brackets put me off right away. I had written lots of useful stuff with PHP, but began to sorely miss the ability to write GUIs. Tcl had Tk, and integrated so perfectly. I forced myself into it. It took me a while to understand Tcl's peculiarities and that these peculiarities were advantages. I must add, RS had a lot to do with my enlightenment. In 2003 I decided to marry Tcl and leave all else behind (except Bash - it's everywhere like Vi). In 2005 I tore down my PHP-based Web site and built a new one with Tcl. It works better now. Everything is better now.


SYStems Generally I wanted to learn how to program, and very early in my path I was introduced to the idea that learning more than one programming language, different languages that support different programming paradigms, is the best way to be a competant programmer.

Trying to learn different programming skills, I reached the point where I wanted to learn how to create user interfaces. Tcl have the reputation of being one of the easiest language to work with to create a UI, plus all the other scripting languages in which I was more interest, used Tk as their standard or default UI Kit.


DKF: In 1994, I saw a fellow student using Tcl (and Tk and TclX I now know) to write a network client much faster than I and a bunch of others could in C++. I asked him what he was using and thought that was neat. And then promptly forgot about it. :-)

The following year, I found a copy of JO's book, remembered the conversation, bought the book, read it cover-to-cover, and never looked back.


Googie About 2000-2001 - I was looking for some toolkit to write GUI client for a daemon I'd written. I was woundering how is it done in Linux kernel configuration interface ('make xconfig') and that's how I've explored Tcl capabilities.


TCL was the only scripting language better than awk/shell combo available on the SCO Unix server I had to use.


TG My employer wanted me to learn it in 2001 and now I use it even at home.


RS In 1996, a co-worker gave me a quick-reference sheet. I looked at it, wondering what this now was again. But having done Lisp and Logo before, the spirit of the language felt good. Tk was amazing - shortly before I had coded some Japanese text displayer in Xlib, and it was quite a hassle. Then came Tcl 8.1 - I downloaded an alpha, tested interactively that "subst \uXXXX" did work in fact, and from that day on I really loved Tcl (having to deal, both at work and home, with very foreign languages). And as this Wiki shows, that love has brought forward many a fruit :^)


NDM In about 1993 or 1994, I was looking for easy ways to build GUIs. I found a few free GUI-building tools on some FTP sites, but none were all that great. You still had to give pixel coordinates for widgets, and the functionality was limited. A coworker of mine had mentioned using Tcl a few times, and I didn't know anything about it. He was using it on a Mac, so he didn't have Tk. (It was Unix-only at the time.) Anyway, I got Tcl just out of curiosity, and lo and behold, it had Tk with it! I looked at the demo scripts, and was pleasantly surprised to find that

  • Tcl was (superficially) very shell-like, so it had a familiar ring to it, and
  • the examples had NO pixel coordinates anywhere!

The fact that the [pack] command could usually just do the right thing totally blew me away. Then, I discovered the wonderfully simple C interface. I haven't looked back since.


In 1993 i moved from MS-DOS to Linux for all my programming, just in time to evade MS-Windows programming. I took a subscription on Linux Journal and in one of the first issues there was an article about Tcl/Tk. After a few months i had to create a level-editor for a never published computer game i was making and i remembered that article. Tried it and liked it enough to use it for all kinds of tools since. It took me a few years to realize how difficult GUI programming was with other toolkits. The only other one i liked was Qt for C++ projects, but Tk can be programmed with the simplicity and awesome power of Tcl. Anyone remember who wrote that LJ article? I don't have the magazines anymore.


sergiolIn August 2001 i had to study Physics (it was AC & DC electronics only), System Analysis, Telecommunications Fundamentals and Operacional Research for the exams . Everyteime i got tired of the study, i was experimenting the wonders of Tcl & Tk doing a small text editor that i never finished. :(


Stefan Vogel While my time at the university (around 1995) a colleque showed me how easily he extended his graphical application with a way to let users enter commands (which simply was an embedded Tcl-interpreter). Deeply impressed but at the same time trying to finish my work, I forget about that. My first job (in 1997) got me pushed to Tcl again. In 1998 (my second job - no I didn't change the job because of Tcl ;- )) I was finishing a database-application with a web-frontend done with a Java-Applet and AOL-Server ... again Tcl. At that time I thought I was haunted ;-) One year later we were developing internet- applications with Vignette (which had Tcl in it at that time).

Nearly all the time I missed the Tk-part, which I discovered around 2000 when I started to write an editor for those ugly Vignette- intermediate-transferproject-files (see http://traped.vogel-nest.de ). Having done UI-development with Motif in 1997 Tk convinced me at once and today I'm still a Tcl/Tk believer!


Yves Guerin, In 1998 I move from W$ to Linux (Redhat 5.0) and I wanted to do some programming under X-windows and shell. After searching the right programming language: python, perl or tcl/tk I finally choose Tcl/Tk and I am very happy with it.


Sean Deely Woods, In 1997. I learned it on the job at Kulicke and Soffa writing test suites for a factory automation system. Found Brent Welch's Practical Programming in Tcl/Tk at the bookstore, and I've been a Tcler nut ever since.


Shin The Gin, back in 1993, when I was running Linux (SLS 0.98 on 28 Floppies) on my 40MHz AMD386, there was no other way to program some small GUI apps in a reasonable time, but taking Tcl and it's Toolkit. I first heard about it in a german computer magazine called c't in 1992.


CAU: In 1997 I was working for Brown&Sharpe, programming CMM's. During a casual chat with an old friend (who had studied Computer Science at Strathclyde Uni), I asked of a suitable language in which I could develop simple menu based GUIs for the CMM applications (all GUI work we did at the time was written in a crude plot language). After being told that I could write a menu app in ten lines with Tcl, I did a bit of research. Not only was there a version of Tcl already on the SCO Unix platform we used, but Tcl was cross platform and the canvas widget felt so familiar from the outset. I've programmed in VB, C, sh, awk, COBOL and java since, but always come back to Tcl - it always feels like the right tool for the job.


peterc: I'd been using Expect for this or that bit of Unix or Cisco router automation for a long while but other languages for my more regular scripting. I really wanted to get into GUI apps development, looked around at various GUI toolkits for various languages, and Tk made the most sense to me. The commands, options and excellent layout choices of grid, pack and place, won me over. In learning Tcl/Tk, it's also improved my old Expect scripts considerably and my general sysadmin scripts tend to be in Tcl these days too.


hat0: In 2004 I wanted to make a simple, cross-platform GUI application and my options were Tk and wxWidgets. I spent a few hours reading wiki pages about all manner of assorted topics and could already see that tcl is a real gem of a language. I've since written several tcl/Tk applications and an extension and am quite pleased with it all.


TV In the early 90s I worked at Delft University (EE, Network theory) as half externally paid scientist/technician on a high profile computer graphics project I´d helped startup myhself when I was still student, in fact I was working towards a PhD (hardware design of complex graphics accelerator, software simulation, project overview, graphics computations, neumann inversion/galerkin matrix inversion approximation, radiosity/ray-tracing, and parallel simulation) on for the time close to the worlds fastest workstations, HP720 ´snakes´ of course running HP unix. Outside official work hours I was probably browsing the web on a Silicon Graphics workstation of which there was one around, and I found examples of Tk (with tcl of course) making greatly usable user interfaces on unix, which was quite a hassle to do myself at the time, although I had made X11 based 3D graphics applications. But Tcl/Tk, which was also working on Sun workstations and on the HPs was great ot with a few lines make some buttons and test fields and general scripts for running C programs (which I programmed), so was was very glad my wish was fulfilled, and even more when I had made some stubs to connect multiple machines up over little socket-to-pipe programs I made for parallel computing purposes, I guess in about ´93, but don´t recall exactly.


LV Well, back in the ancient days - before the wiki, before comp.lang.tcl, there was a mailing list. A friend of mine, Kent Margraf, somehow happened across Tcl. He and I were big cross platform and scripting fans. I was, at the time, dabbling with the predecessor of python (was that called ABC?) , perl, etc. The predecessor to python had some sort of GUIish association, I seem to remember (however, 20 years or so may be playing tricks with my mind...). Anyways, Kent and I were playing around a bit with Tcl and Tk, trying to figure out ways to make use. I remember one of his efforts back then was a program that somehow interacted with various machines, collecting information from perhaps their consoles. Then he displayed a "traffic light" type widget for each machine. In the normal condition, the widget was green. If the machine load was over some threshhold, then the color changed to yellow. If there were serious problems reported, the light turned to red. It was a big hit. After some of these type of efforts, my involvement evolved then devolved, based on personal and business priorities. However, my appreciation for Tcl and Tk hasn't waned.


AMG: OpenVerse. Actually back then it was known as Metaverse. The first thing I wrote was a chess server.


clemp: In 2017 I went looking for a platform on which to develop internal engineering tools to assist with project work and could be developed/maintained by a small team. TCL is a stable, cross platform scripting language that has single file executables, gui, flexible syntax, easy to read code, and an ecosystem of development tools all built in the same language. Too bad I didn't stumble across it before I spent time looking into VBS, Perl, Powershell, Java, and JavaScript. The Tool Command Language to build tools! Who could have guessed?


ABU In 1998, looking at the Tk-demos, I was shocked by the design and the power of the Tk-canvas widget. Two months later I deployed my first GUI-application, a little graphical editor for some telecom-specific diagrams.


gold 6/6/2021. About 1996, the Personal Computer PC on my desk, was replaced by a Sun Sparc 20 workstation. I was an engineer and mainly programming in Fortran 77. I had learned QuickBasic, Html, Perl (Unix), and also Javascript. Since the Sparc 20 interface was command line Unix, I looked around for a gui or gui language as an interface to the Sparc 20 workstation. I found Tool Control Language TCL fairly easy to mouse click and invoke executable icons on the Xwindows screen. I even had a gimpy trashcan icon on the screen. I showed my beginner TCL program to a co_worker. The co_worker said that I had fairly imitated the the PC Windows icon system on a Sparc20 workstation. But this was only about 200 lines of beginner TCL code, and fast as greased lightning on a Sparc20! How's that for a sales job on TCL? Then, I wrote small slot calculators in TCL and Javascript on the Sparc20 behind a firewall, which were similar to my later pages on this wiki, but not the same subjects. Never forget the human brain evolved to hunt rabbits, not Unix critters and command lines. Your eyes and brain modeling/mapping of the outside stims are closer to a gui screen than one might think.