Okay, okay, I'll bite. Hear me, before the rotten tomatoes hit: I. like. TCL.<p>In fact, I'm going to go out on a dangerous limb and say that complaining about the [expr] syntax - which seems to be his only concrete complaint in the whole article - reminds me of nothing so much as saying, "But Lisp is horrible - look at all those parentheses!"<p>You've heard the trope that languages, as they get more advanced, begin to resemble Lisp? PG reckons we've seen every other feature but macros, but I beg to differ. TCL is the only other language I've ever used where I could be coding, spot a common pattern, and just define a first-class construct that lets me go:<p>with-db-transaction conn {
select_1_or_error $conn "SELECT ..."
...
}<p>Sure, TCL lacks a heap, and garbage collection, which make it untenable for big programs. But if there's one thing Lisp should have taught you, it's that an initially ugly syntax is often hiding something truly golden.
Tcl have uniform syntax<p>Tcl have a small number of basic concept that you can learn in a very small amount of time<p>Tcl allow you to easily create new commands that look just like built-in commands<p>Tcl have uniform syntax, yes again. I love this about Tcl.
So I learned Lisp long before either Tcl or a "pop infix" language. Common Lisp has it all, and then some.<p>I learned Python and Tcl at roughly the same time. It looks to me like Python and Tcl got in a big tug-o'-war fight over Lisp's features, and the rope broke and each got half.<p>Python ended up with the data structures, but not the syntax. Tcl ended up with the syntax, but not the data structures. And advocates on both sides scream "how can you do anything without #{feature_x}?".<p>And I say "ah, Lisp has both!", and everybody gets together and says "oh, shut up, you".
Tcl isn't <i>that</i> bad. We've got a few web apps running quite happily on AOLServer. In the late 90s/2000 AOLServer was a country mile ahead of everything else.
Am I the only human being alive that reads articles like these and has next to no experience programming? I read the whole thing and got the gist of it, but I'm not a programmer. Still, I find rants, tips, and other things of this nature enthralling reads.
Tcl had a bunch of things going for it that made it an excellent embedding language: a lightweight runtime, simple, consistent semantics, and (for the time) an excellent C API.
If you'd like Lisp without parens, how about Logo?<p>Logo seems like Forth backwards: prefix instead of postfix; neither language needs parens for function calls because they both know how many arguments each function call uses.