I guess we can start w/ the age of the last version that was used (clue: had no namespaces). That places it squarely pre-8.0 (8.05 was released early 1999). Rehashing a twelve year old language? (For reference, Tcl is shipping 8.5.9 now, and Tcl 8.6 is in beta, under active development).
Lots has gone on since, then; Glancing at the article, first thing that jumps out is complaining about Tk not looking nice. Tk has had "Themed Tk" for some time now (http://en.wikipedia.org/wiki/Tcl#Tile.2FTtk). The difference is remarkable.
Regarding quoting -- not much more to say than Perl or /bin/sh, for example.
{prints $a... literally}
"prints: $a <--- value of 'a'"
"prints: [glob *] <--- the result of the glob cmd (a list of files)"
Basically, substitution works for "double quotes", but not for {braces}. (But, dig into Tcl and there are more creative commands at your disposal, like:
[subst -nobackslashes -nocommands {this is content of variable "a": $a}]
And this: "...although everything is a string and it should be very easy to stick things together when that is what you want to do, in any scenario which is even slightly complex you have to start writing list operations in order to build your strings". What's wrong with:
set a "oh"; set b "hai"; puts "$a $b";# easy-peasy (I'm a comment)
"Tk’s layout procedure does a lot for you automatically, which in practice means that it’s a pain to do anything else."
Tk has 3 layout engines...pick one. If you're having a lot of trouble, you're doing it wrong.
The beauty of Tcl and Tk (which thankfully still exists today) was largely glossed-over, which is too bad.
* The Tk system...is a very clever way to easily write a GUI program.
* "Tk is cross-platform." (of course, so is Tcl). Win, Mac, BSD, Linux, Solaris, etc., etc.
* "...the actual Tcl implementation is great." Still true.
* "has a nice event loop" Still does... and threads, and co-routines (8.6), and lambdas, safe interpreters, utf-8 support, tcp sockets, "tdbc" database connectivity (8.6), built-in OO facilities (8.6)...
* "The core library provides system independent facilities which are well designed and well implemented." Still true... a joy to work with.
So there you have it, an ad-hoc response to a review gone wrong.
At the beginning the author says his experience is based in 1997 -- which triggered a bit of a WTF response from me. If the language hadn't been updated in that time the "review" might make sense, but as your details point out it's woefully out of date.
But really, in the realm of scripting languages 14 years is a huge amount of time. Why would anyone judge Perl, Python, or Lua, say, by the state of those languages in 1997. The mind boggles.
I guess we can start w/ the age of the last version that was used (clue: had no namespaces). That places it squarely pre-8.0 (8.05 was released early 1999). Rehashing a twelve year old language? (For reference, Tcl is shipping 8.5.9 now, and Tcl 8.6 is in beta, under active development).
Lots has gone on since, then; Glancing at the article, first thing that jumps out is complaining about Tk not looking nice. Tk has had "Themed Tk" for some time now (http://en.wikipedia.org/wiki/Tcl#Tile.2FTtk). The difference is remarkable.
Regarding quoting -- not much more to say than Perl or /bin/sh, for example.
Basically, substitution works for "double quotes", but not for {braces}. (But, dig into Tcl and there are more creative commands at your disposal, like: And this: "...although everything is a string and it should be very easy to stick things together when that is what you want to do, in any scenario which is even slightly complex you have to start writing list operations in order to build your strings". What's wrong with: "Tk’s layout procedure does a lot for you automatically, which in practice means that it’s a pain to do anything else."Tk has 3 layout engines...pick one. If you're having a lot of trouble, you're doing it wrong.
The beauty of Tcl and Tk (which thankfully still exists today) was largely glossed-over, which is too bad.
* The Tk system...is a very clever way to easily write a GUI program.
* "Tk is cross-platform." (of course, so is Tcl). Win, Mac, BSD, Linux, Solaris, etc., etc.
* "...the actual Tcl implementation is great." Still true.
* "has a nice event loop" Still does... and threads, and co-routines (8.6), and lambdas, safe interpreters, utf-8 support, tcp sockets, "tdbc" database connectivity (8.6), built-in OO facilities (8.6)...
* "The core library provides system independent facilities which are well designed and well implemented." Still true... a joy to work with.
So there you have it, an ad-hoc response to a review gone wrong.