Where Tcl and Tk Went Wrong (2010)
journal.dedasys.com
journal.dedasys.com
But then what. As soon as the program got a little more complicated you were wishing the language was a little more powerful, but it never made sense to rewrite logic or functionality and push it back down into C, so that the Tcl/Tk layer on top could be paper-thin like at the fun start. I remember eval commands becoming more common, and then the legibility/reasonability went to hell. The article mentions that it didn't have a package distribution system until too late, and I don't think I missed that; for me the problem was that the incremental creation of any non-trivial Tcl program led to something that somehow stubbornly resisted being re-organized into manageable pieces. For some reason I didn't fall into these situations with Python.
Everything in the article rings true, but for me the basic problem was that it was too easy to do really simple things, and then you were trapped.