I've just started to do some freelance work.
First job is to do performance improvement to a legacy scripting program written in TCL. Never touched TCL.
TCL Compared to Python
There are lot's of rules in TCL to load to the mind, lot's and lot's and... Python is very simple.
OK, so... let's debug it. 'NO DEBUG for you', I'm still working on a debug platform, so far debug looks like this:
1. Write the code.
2. Run the application.
3. Wait for the right moment, be patient, wait, not yet... now
5. Missed it? go-to (2) OMG - time spender.
6. See what's happened.
7. Close the application
8. Write some debug messages ( AKA: trace print outs ).
9. Go-to (2) until you finally found the right code to make it work.
10. Refactor, code review... the rest...
I've debugged Python using Iron-Python and Eclipse, it was reasonable for the pilot I did to Python.
Conclusion so far
TCL was probably good in it's glorious days, I can see it in my mind - compared to VB script i've worked with those days, but those days are long gone, for both of them.
TCL - Frustrating, BIG time consumer in maintenance AND in development phases, no suitable DEBUG platform (so far).
WIKI - http://en.wikipedia.org/wiki/Tcl
If you can port to Python, do so, ASAP. I'm calculating the time I’m going to spend on this tool compared to building a new one in Python. It might take a month or so, but the total maintenance of the TCL might take longer.
If your stuck with TCL, like I probably am, well... read the flowing posts to see how to handle the TCL maintenance problem.