3 ms·
Your post is so wrong it warrants a long reply. First of all, tcl might be anything, but certainly is not dead. The name tcl stands for "tool control language"
by _ph_ 7y ago
Your post is so wrong it warrants a long reply.
First of all, tcl might be anything, but certainly is not dead. The name tcl stands for "tool control language", which means, it was developed as a language to script tools, that is applications. So it is less a language to develop applications from scratch (but it is often enough used for that too), but to script applications. And it is an excellent language to do that, as due to its syntax - which rightfully seems to be odd - but is excellent for this task. If you write a command extension "do_something" for you application in tcl, you can just call it as:
do_something foo bar baz 42
No quoting or syntax required, unless your parameters include spaces or make references to variables or should be evaluated in any other sense.
Ironically the "tools", tcl was designed to control are the eda desing tools which are used to design e.g. cpus. So this conversation wouldn't happen without tcl being involved.
Beyond that value, tcl comes with a bunch of excellent tooling, which makes it worth knowing. The here described expect is one of them. Another very fameous tool is Tk. Tcl/tk was the first true cross platform solution for producing GUIs. And till today is probably still the easiest solution for that task. Also, it still is the standard GUI toolkit shipping with e.g. python. And has bindings from many other languages, ranging from Perl to Common Lisp.
Never mind, that tcl had event based IO long before node.js made that concept popular. It is great for writing small servers. It had utf8-support for a long time, and even has a robust mechanism for multi-threading. And many more cool features.
So, not only tcl isn't dead, but it is really a tool I can only strongly recomment to anyone to learn about.
- loulouxiv 7y agoTcl seems to be an interesting language to learn, but I am not sure what kind of toy project I could do with it. Is there any links to modern libraries, blogs or websites discussing its use you could share with us ?
- ptsneves 7y agoThere are plenty of resources but probably in book form. My first Linux book had an intro to Tcl/tk. I disagree with the op that tcl/tk is not dead. Yeah it still exists but it is rarely used and younger systems programmers/Admins never had to use it. It was a bit of a stop gap solution to create GUIs when there was rarely any. The expect functionality though it completely replaced by pexpect so it makes little sense to learn tcl/tk for such a use.
- blacksqr 7y agohttps://wiki.tcl-lang.org/page/Who+Uses+Tcl https://wiki.tcl-lang.org/page/Who+Uses+Tcl
- blacksqr 7y agoThe Tcler's wiki is a frequently-updated site with over 20 years of accumulated information and code respecting Tcl/Tk. https://wiki.tcl-lang.org/welcome https://wiki.tcl-lang.org/welcome
- _ph_ 7y agoNot sure what qualifies for a modern library. But you will find out that there are libraries for tcl for basically any purpose you might need. The most fameous one certainly is the tk library for creating GUIs. So doing a small gui might be a nice start, or any shell utility. The asynchroneus IO functions are great for creating small internet based servers and utilities. The most fundamental resource on tcl is probably the book by the creator, its worth a read: https://www.amazon.com/Tcl-Toolkit-2nd-John-Ousterhout/dp/032133633X https://www.amazon.com/Tcl-Toolkit-2nd-John-Ousterhout/dp/03... It not only covers the language and its usage but goes into depth of both extending tcl in C as well as embedding it into an application for scripting it.