It is worth learning considering a few things. The ruleset is freakishly simple and the docs are good. The speed at which you can prototype a gui is somewhat unparalleled. The ability to glue or automate different bits of software is often better than bash. It is called the tool command language after all, though they'll never get me to stop saying tickle.
> The speed at which you can prototype a gui is somewhat unparalleled.
Yeah, but it's some kind of Alternate Web Ghost Story prototype where an uncanny valley ends up terrorizing the developer.
Imagine: you hear faint sounds outside your tent in the middle of the night. You get out to see an vector infographic rustling through your backpack.
And as you slowly approach, it gets bigger. And bigger.
Except for the text, which remains the same size no matter how close you get!
"AAaaaah!"
When the forest rangers arrive the next morning, you and your entire party are nowhere to be found. All that remains is a tiny library a mere few megs in size.
A bush behind your tents hides an old, rusty sign with text too small for the rangers to read:
"Caution: tk canvas scale subcommand does not rescale text or images-- it only adjusts their x/y coordinates."
Lol! And when you're running your very own GUI app in the cutest little window. But, just to see what happens, you decide to reach for the resize handle...
“I can’t believe I’m praising Tcl”[1] (last posted here[2] in 2020) also makes some good points that are not in other writeups, specifially regarding interactive use.
I think Tcl(’s standard library) is still too wordy to make a comfortable interactive shell, but it’s still leagues above everything else I’ve seen; in particular, I can’t help but think Shivers’s dismissal of interactive use in his description of Scsh is something of a cop-out—there are (now, maybe not then) plenty of nice languages to hack a prototype or a quick script in, but somehow Bourne shell + Unix utilities is still the best we can do that won’t make my fingers ache? Tcl demonstrates very well that inside sh there’s a Lisp trying to get out (and Plan 9’s rc does the same but worse), but somehow that line of thought seems to not have been continued further.
(Just in case, I see both Elvish and PowerShell as being more in the Scsh direction than the Tcl direction, that is making a “proper” language at the expense of interactive use and my fingers; Elvish appears to at least have a properness-Bourneness knob but that’s hardly a solution. Anyhow, I don’t think either contributes much to our knowledge of the virtually untouched interactive-use landscape, as opposed to the relatively well-explored scripting-language landscape.)
I’m rereading this now and I realize I was probably thinking about Oil, not Elvish, or rather that my brain mixed some of the Elvish materials I read into the Oil author’s (extensive and illuminating) blog posts and on top of that called the resulting chimera by its smaller part. I’m sorry.