The inability to parse the language without simultaneously interpreting it?
Perl also suffers from this problem.
Wrong, Perl parses and byte-compiles the whole program on startup, while Tcl only parses and byte-compiles each block the first time it's executed, so a rarely-executed piece of code might have lurking errors.
(Apart from that, Tcl is far cleaner, more readable and consistent than Perl though)
Tcl is simple in the way that maths is simple - it starts from a small number of clean consistent abstractions which can be combined to achieve many things. People who see the possibilities of this tend to think it's easy and powerful, but many others just don't get it.
See http://wiki.tcl.tk/1413 and http://phaseit.net/claird/comp.lang.tcl/SunScript_story
Tcl is simple in the way that maths is simple - it starts from a small number of clean consistent abstractions which can be combined to achieve many things. People who see the possibilities of this tend to think it's easy and powerful, but many others just don't get it.