A few of your favorite things

What I'd like to encourage people to do here is list favorite applications and extensions built around Tcl.

What do you find yourself either using the most frequently, or using to show someone what Tcl can do?

LV: Of course, number one has to be this wikit.

I really love tkinspect and I find myself most frequently using either eskil or frink when developing.

I also love the functionality in teacup.

I just looked through the code in my ~/bin directories. Most of it is code from this wiki or from the community- the rest are things I've hacked together over the years.

The most common packages used in the various apps are: Tk, http, log, various struct modules, tdom, htmlparse, Tclx, oratcl, base64, csv, metakit, thread, Tnm, Trf, admin, auth, cgi, cmdline, mail, mtype, scripdoc, session, starkit, as well as a lot of "one time use" type modules.

RS loves most to demonstrate things in an interactive console, up to tdom: my visitors (colleagues) are mostly very impressed how simple it all is, and I then mail them the sample code to use in their scripts :^)

AMG, maybe being a little bit sarcastic: I love Tcl's power to repel idiots. I have met one or two people who, upon seeing how simple and easy Tcl is, publicly and vociferously dismiss it as not-a-real-language, then (also publicly) insult me for using it, then at last get really quiet and uncomfortable when they see the obvious quality of the system I was able to produce with it in just a few hours. I suppose for some people, Tcl is too simple to understand. :^) But seriously, I think the issue is that Tcl's radical simplicity threatens the false superiority some "experts" derive from the sheer complexity of their programming environments. The rebellious iconoclast in me loves this! Oh wait, I was supposed to be writing about applications and extensions. Uhm, tkcon? Just drop it in and you have made your application a million times more interesting to users possessing even a shred of hackerism. And by the way, I did not know about [edit], described below by slebetman. I guess I also like Tcl's power to surprise me (in a good way) even after years of working with it. I will now be using [edit] for all my non-one-liner procs.

JM I frequently use tclodbc, BLT and TableList. I am a fan of RS's whizzlets

slebetman loves Tkcon. The edit functionality is a godsend. By now I'm used to doing:

  proc foo {} {};edit foo

when writing/prototyping procs in tkcon.

Another thing I'm particularly fond of is using uplevel to create custom control structures. Something which took me a long time to appreciate. Nowdays I find it hard to resist creating custom control structures to communicate intent -- much better/clearer/more readable than commenting.

And of course there's tcllib.

And my favourite Tcl extension: Tk (the whole reason I got into Tcl in the first place)

Synic As far as wowing people goes, you can't go past accelerated OpenGL graphics using Tcl3D. It really boggles the minds of people who still think of Tcl/Tk being just an old Unix/X11 scripting language with ugly widgets... then you bring out Tile with its modern looking widgets on every platform :-). Add to that, TWAPI, TCOM and the various handy things in tcllib including LDAP handling which means you can do pretty much whatever needs scripting in the Windows world, using a sane and mature scripting language.

AMG: SQLITE!!!! :^)

DVB: SnackAmp is neet. Best mp3 organizer, in my opinion, if you have something like a terabyte of music.