4 ms·
Paul_S prefers a language which is "immediately understandable to a c coder" - I think this gets to the heart of the disagreement here. Tcl is different. Anyo
by cmacleod4 9y ago
Paul_S prefers a language which is "immediately understandable to a c coder" - I think this gets to the heart of the disagreement here. Tcl is different. Anyone who expects it look like and work like C-family languages will always be frustrated and disappointed.
But people who are willing to take a less conventional approach may find that it opens up cleaner and more elegant ways of doing things. For example, upvar is not just a workaround - it can support meta-programming techniques which are not even possible in e.g. Python.
The "Tcl way" is to have a minimal core which just supports running commands and connecting them together. Everything else is implemented as commands, including the control constructs, and any command can be redefined. This flexibility does of course allow things to go wrong in ways that could not happen in a more restrictive language. But it also provides an adaptability that is hard to give up once you get used to it.