4 ms·
I'm having a look at Tcl at work due to legacy code and it's no language that I find easily accessible. Especially when having not that much time and having a l
by myspy 9y ago
I'm having a look at Tcl at work due to legacy code and it's no language that I find easily accessible. Especially when having not that much time and having a large codebase.
The interpretation and the braces in braces parts are annoying. Not very readable.
Modularization is not easy and other files can't be imported as fast as with Python or ES2015.
Resources and tutorials are not readily available, there is no community I ran into to ask stuff compared to the rest of the language world.
Finding a test framework or linting mechanisms is not easy either.
I'm no friend of Tcl at the moment, I'm not sure if that will change.
- oblio 9y ago> I'm no friend of Tcl at the moment, I'm not sure if that will change. Languages don't really seem to "come back" that much. At some point being for too long out of the mainstream weighs against you.
- santaclaus 9y ago> Languages don't really seem to "come back" that much. Objective-C came back from obscurity with a vengeance.
- oblio 9y agoBecause Apple poured a 1 billion dollars into it and turned it into basically the main programming language for 2 OSes.
- networked 9y ago>Resources and tutorials are not readily available I think I know all the major web resources for the language, and I agree. In terms of learning material available online Tcl is simply very much behind Perl, Python, and Ruby. If you're learning Tcl from scratch today, I'd recommend to start by following https://learnxinyminutes.com/docs/tcl/ https://learnxinyminutes.com/docs/tcl/ (ignore the broken syntax highlighting) and then https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html, and playing with the REPL extenstively (I am a fan of using http://homepages.laas.fr/mallet/soft/shell/eltclsh http://homepages.laas.fr/mallet/soft/shell/eltclsh as your REPL for how it does completion). If you want a book, there are quite a few, but most of them outdated. While I haven't read it myself, I have heard good things about the most recent, The Tcl Programming Language, and I enjoyed its author's other writing on Tcl. The man pages that Tcl comes with are a high quality reference for its commands. The Tcler's Wiki (https://tcl.wiki/ https://tcl.wiki/) is also indispensable as a reference and a starting point for research. >there is no community I ran into to ask stuff I highly recommend the "tcl" tag on StackOverflow and #tcl on Freenode. The former has some seriously dedicated people answering StackOverflow-scoped questions. The latter is where the developers of the language hang out and suitable for more open-ended discussion. >Finding a test framework The standard for testing Tcl code is tcltest (manual: https://www.tcl.tk/man/tcl/TclCmd/tcltest.htm https://www.tcl.tk/man/tcl/TclCmd/tcltest.htm). The best examples to learn from are in Tcllib, the language's standard library, e.g., https://core.tcl.tk/tcllib/artifact/47f195f05f695703 https://core.tcl.tk/tcllib/artifact/47f195f05f695703. If you need a framework for functional testing, try Caius — http://caiusproject.com/ http://caiusproject.com/. >linting mechanisms There are several linters for Tcl; see the list at https://tcl.wiki/3162 https://tcl.wiki/3162. At one point I tried using ttclcheck because it implements static type checking, but never stuck with it or any other linter. This may be due to Tcl's sparse syntax and highly dynamic nature, because I do use linters and style checkers for other languages.