Tcl is a fairly old language, nearly 20 years old this year. It’s also quite widespread, even if it’s not as popular as it once was. This means that a lot of things are fairly set in stone, and not likely to change short term. It also means that with time, it has grown quite a bit as a system, and has lots of pieces.
Several years ago, my friend Salvatore “antirez” Sanfilippo set out to create his own version of Tcl, something smaller and more flexible, and under his control so as to avoid being tied down with baggage from the past. The result was Jim, which, according to the web page:
… implements a large subset of Tcl and adds new features like references with garbage collection, closures, built-in Object Oriented Programming system, Functional Programming commands, First class arrays. All this with a binary size of about 85kb (that can be reduced further excluding some non-vital commands, and commands not available in Tcl itself).
which has made it popular with people who need a small scripting language for things like embedded systems.
Unfortunately, Salvatore hasn’t had as much time to work on it as he might like, being busy with money making web things (it’s tough to make money on programming languages), so it’s good to see that he has added