4 ms·
Personally I found Lisp and scheme (I'm lumping them together for their similarities) confounding to get into. There are many, many different implementations, a
by bch 9y ago
Personally I found Lisp and scheme (I'm lumping them together for their similarities) confounding to get into. There are many, many different implementations, and it seemed to me you are adopting a culture and specific ecosystem more than anything. To my mind, it was difficult. Tcl seemed much less fragmented to me. There is one canonical implementation of Tcl, managed by the Tcl Core Team (TCT). There is (at least) one popular re-implementation (Jim Tcl), interestingly enough originally implemented by the author of the original article we're discussing here.
Re: backward compatibility... I'd say Tcl is remarkably stable. A core tenet is "everything is a string" (EIAS), and logically, this has been honoured. Originally (before Tcl 8, or 8.4(?)) internal components of Tcl were literally strings. As in C "char " strings. It is (and has been) byte-coded for a long time now, and uses Tcl_Obj internals, with a string representation, and a high-performance "native" representation as well. It does still logically behave as if EIAS, though.
That cited doc you mention doesn't actually seem to have a bearing in reality for some of its assertions, to my eyes. It would perhaps have "gotchas" for authors/users of scripts, but doesn't invalidate the EIAS core tenet. Additionally, that document was last edited 20 years ago. It's ancient, as is Tcl < 8.0.
- flavio81 9y ago>found Lisp and scheme (I'm lumping them together for their similarities) (...) there are many, many different implementations You are lumping them together, as you mention, but they are very different precisely on this regard: Scheme has a lot of very different implementations but code portability is an issue, while Lisp (Common Lisp) has a dozen implementations but code written in CL will generally compile and run straight away in any of them, due to language standarization. Another lisp-like language to consider is Clojure, in its JVM implementation.
- bch 9y agoThanks. I was actually more attracted to scheme, then did become a bit confused, but maybe I should just head over to lisp and check harder to see what's what.
- bch 9y agoThat all said, Tcl isn't fragmented.
- flavio81 9y agoScheme is good, easy to learn and flexible; don't get me wrong: i just wanted to remark that it isn't very portable. It isn't difficult to jump from Scheme to Lisp and viceversa; they are similar in many aspects. If you want a quick comparison between Common Lisp and Scheme it would go like this: Common Lisp is a standarized, extremely powerful and flexible programming language; while Scheme is a do-it-yourself kit for creating your own extremely powerful and flexible programming language.