3 ms·
Very few other languages give a comparable sense of playfulness There's an argument that modern software used in production environments shouldn't be imbued wi
by seiji 11y ago
Very few other languages give a comparable sense of playfulness
There's an argument that modern software used in production environments shouldn't be imbued with a sense of playfulness just because it's fun.
If your choice is between tcl and Python, use Python. If your situation is "I can use waterer I want, tcl sounds fun," still use Python. Nobody wants to maintain sprawling tcl code today, much less in the future after projects get abandoned by their original creators.
- bch 11y ago> There's an argument that modern software used in production environments shouldn't be imbued with a sense of playfulness just because it's fun. Your point is a good one (applicable to any language or technology), but in defense of the OP, bringing fun doesn't preclude usefulness or power. A painful development process doesn't mean "serious software". Additionally, if you don't want to put Tcl in production per se, it can still be part of the development process in a prototyping capacity. It's got great UI facilities (CLI, sockets, GUI), great introspection, and a healthy amount of whip-it-up-atude to get meaningful results quickly (and yes, enjoyably).
- sea6ear 11y agoTcl programs are still far easier to distribute (using Tclkit & Starkits / Starpacks) than for Python, which as far as I can tell requires either an installer or the end user to install a distribution of Python. This one capability puts Tcl in a class that is fairly unique among scripting languages. It gets it into the class of easily distributable languages that usually only includes compiled native binaries like Go, C, C++, Haskell, Ocaml, etc EDIT: Thinking further, perhaps Node compiled statically and Lua may offer similar capabilities to Tcl in terms of being reasonably distributable. Maybe PHP also if you distribute the static cgi binary. I guess it's mostly Python, Ruby, Java, C# and Perl that require a distribution to be installed for programs to be easily run. This is mostly a problem for distributing one-off utilities for someone else to run rather than either major applications where an installer wouldn't be comparatively a lot of extra work, or situations where the computers are all under the programmers control.
- maxerickson 11y agoPerl and python both have wrapper style single exe packaging options. I guess they might not be easy on the dev side, but they are transparent to the end user.
- srean 11y agoI actually agree with you wholeheartedly (digression: except maybe I will not go with Python as my goto language all the time, and I am pretty sure that's not the argument you wanted to make, but just for the record). Not all code I write is even intended for production environments, that's where my previous comment was coming from.