when you say Tcl is wacky, just how wacky do you mean? I noticed that its handling of most programming capabilities is pretty off-beat, but I'm finding it very easy to learn and understand. Would you say there are serious flaws or inefficiencies, or is it just idiosyncratic?
in the 'scripting language written in C' category, Perl wins any idiosyncratic contest. TCL also far from Lua in speed. like Lua and unlike all the others (Python, Ruby), you have to invent your own OO system, however Lua has syntactic sugar for 'object methods' and a native language feature for 'method lookup' so it has an edge here. all of the above are embeddable in C apps to some extent, but Lua wins that contest handily, being designed for that from the start.
none of them have the typechecking ability of Haskell/SML/Ocaml/F# which can find problems before they happen at runtime. and none have fast native compilers like Lisp (SBCL), Ocaml (ocamlopt), and Haskell (GHC). so if youre willing to learn a bit more, you can ditch C/duck-typed scripting languages entirely and reap a lot of benefits in maintainability and performance.
everything has flaws. its about picking your tradeoffs. im just not sure TCL is the best at anything - if youre into lists of symbols/values/procnames youre going to get a lot more room and performance to maneuver switching to Common Lisp or Scheme. if you want a performant and decent balance of modern language features embeddable C scripting environment, youll get more for your money from Lua. everything under the sun has Tk bindings anyways, so that isnt a selling point. i think they even still have the Gumby cursor
i wouldnt call it wacky either. theres definitely wacky shit out there. like this: http://kx.com/q/d/a/q1.htm