Advantages of Tcl over Lisp (2005)
This is so misleading that i don&#x27;t know where to start. Don&#x27;t get me wrong, i wish more people would take a look at Tcl, because it has clever tricks. But this page is puzzling:<p>&gt;<i>But while in Lisp is usually needed to write macros, in Tcl you have to write normal procedures</i><p>Well, in Lisp, macros are written... basically in the same way as normal procedures&#x2F;functions. The difference is minimal: Use the quasiquote and comma operators (for something that can be described as &quot;code templating&quot;), and make sure to use &quot;gensym&quot; whenever you need to generate a symbol (and don&#x27;t want it to collide with other existing symbols.) That&#x27;s it.<p>The rest is just as if writing a normal function.<p>&gt;<i>Lisp has types, more or less like Python and Ruby. For example in order to use a number as argument of a string manipulation function, there is to convert from one type to the other.</i><p>This is because Lisp is strongly typed, which is universally regarded today as a <i>Good</i> Thing.<p>&gt;<i>strings as base type is usually more useful, because many thinks like HTML, XML, Networking Protocols, are about strings more than they are about lists. </i><p>There are many things wrong here. In Lisp, if you need to deal with HTML or XML, instead of having to be losing time doing string operations, you just write HTML or XML directly in your code as s-expressions (take a look at most of the libraries for outputting HTML in Lisp).<p>Thus, you do it the high-level way.<p>&gt;<i>The Tcl world is less fragmented. There aren&#x27;t a big number of implementations of Tcl</i><p>I wonder if this is truly an advantage for Tcl. Common Lisp has a dozen implementations and your code will run unchanged in all of them, as long as you don&#x27;t use implementation-dependent features (And for them, there are already many portable libraries, so those features are not implementation-dependent anymore.)