Well, Tcl is, in opposition to shell languages, a very comprehensible programming language,however it is a little bit less seamless than shell scripts
and in opposition to awk, a general purpose programming language.
You cannot return arrays, but since Tcl 8.5, there is a new hash structure, dicts, and they can be nested
and returned by functions.
And it can be very easily extended with C, that was the purpose from the beginning. Lua was not
the inventor of it.
And also there is a lot of packages, but perhaps there is not this inflation like in other scripting languages.
Believe me, tcl is very good, powerful scripting language, but unfortunately underestimated and
misunderstood.