4 ms·
I've been made miserable by tcl for the past year and a half. Even after this long I still have to constantly refer to the manual because of what an inconsisten
by Paul_S 9y ago
I've been made miserable by tcl for the past year and a half. Even after this long I still have to constantly refer to the manual because of what an inconsistent mess it is. There are people at the office who have been dealing with this crap for 20 years and still can't tell me off the top of their head the order of parameters to basic functionality functions. Tcl can burn in hell. I've learnt javascript recently and after a week I didn't need to refer to the manual. I think javascript is horrible but it's super easy to learn and use. Tcl should die and will die within my lifetime - all it's got is existing scripts forcing its continued use. Not a single person here would choose it over python or anything else if they were making the decision today.
- coldtea 9y agoNot even remotely sure what you're talking about -- apart that you don't Tcl but are forced to maintain some project written in it. TCL is an excellent language, and compared to the wildness that is the JS ecosystem, it's much more concise and elegant. >Not a single person here would choose it over python or anything else if they were making the decision today. You'd be surprised. I would like to be able to use it more.
- Paul_S 9y agoBy "here" I meant my office. Tcl is not elegant, it's simplistic. Just look at the ugly workarounds for language shortcomings like upvar. I'm not saying javascript is elegant (is anyone?) but it's less unwieldy, quicker to learn and immediately understandable to a c coder.
- cmacleod4 9y agoPaul_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.
- deleted 9y ago[deleted]