GUI apps are ever more bloated and often aren't written for power users (many shortcuts etc). Sure they can have all those things, but they don't. Also, UI designers are really strong trend followers meaning their apps will waste a lot of screen real estate and are often white on light gray right now because that seems to be the current fashion.
Also running apps remotely with a simple and fast interface is often really a big plus.
I do agree with you that many gui apps are poorly built and bloated.
How? Every single TUI app i have on my system has its own look and feel, down to even using different keys for the same or similar tasks. At best a few have vi-like hjkl keys for movement (but no number prefix) and some might use ? for showing the available keys or some sort of help, but there is pretty much zero consistency beyond that.
At least in comparison the overwhelming majority of GUI applications agree on things like what Ctrl+C/X/V, Backspace, Del, Arrow, etc will do and they tend to react the same when you press the left mouse button on something that vaguely resembles a push button or a check box (most also agree how scrollbars work, though not all of them).
You could, but it's not exactly a great comparison. Contrast with Apple's history of HIGs and similar for a company that puts effort into consistency. Where's the equivalent in the TUI?
But one thing I love about terminal applications is how nice they work on remote sessions.
I agree. Writing, testing, and documenting anything other than a CLI is so much more work, imo.
Almost certainly. But for whatever reason, most GUIs created happen to be really bad at the things that most TUIs I've used happen to be really good at, namely searchability, reflowability (mostly used to increase text size and change font face for legibilit), and keyboard navigation.
GUIs that nail these things are delightful. They're highly accessible and extremely efficient to use. But it also seems to me like the full power afforded by GUI toolkits leads a lot of developers to pour a lot of time and effort into other things (which matter less, at least to me, personally) while totally neglecting those aspects of their apps.
I agree that terminals are fetishised a bit, and I personally find a mix of GUIs and terminals to be the most effective combination, but I think there’s something valuable in the interaction pattern.
In VSCode there are probably ~1000 actions I can perform, and maybe ~50 keyboard shortcuts that I use, but I can still access all those actions quickly and fairly efficiently. This shows the value of command line interfaces.
The original comment was suggesting that the value was outdated, but I think command palettes are a good counter-example.
And my Emacs is pretty stock with native comp.