I don’t like TCL because it can be extremely hard to debug and cause fatal errors very late in the game.<p>Since both &quot;varname&quot; and &quot;$varname&quot; can appear almost anywhere, it is very hard to conclusively tell where something is used (or even if what you see is a mistake).<p>What’s that, you have a 1.5-hour job that died because of a TCL syntax error, because TCL can’t parse far enough ahead, and the stack trace is useless?  Par for the course.