this post was submitted on 23 Aug 2024
101 points (97.2% liked)
Linux
48332 readers
457 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Terminals are only limited in tasks that require graphics content, what a shocker.
For all other cases they're vastly more powerful than any GUI can be, because no developer can (or should, it's unrealistic to ask them to do this) match the amount of complex operations terminal commands can reach with one string or script. With GUIs you also have to deal with different sets and toolkits, like GTK, Qt, etc etc.
There's use-cases where GUIs work better and cases where terminals work better and which ones belong where also depends on the user, but saying terminals are more limited than GUIs and bad is flat out wrong and dishonest.
I think you and I are using two different definitions of the word "powerful", or are at least applying them to subtly different aspects of the discussion.
I don't know if you are familiar with basic finite automata theory, but a Finite State Machine is provably less "powerful" than a Turing Machine. This is the definition of "power" that I'm using, "power" as in "expressiveness". i.e. The fact that you can literally create a terminal as a sub-element within a GUI if you wanted means that a GUI is provably more "powerful" (or more expressive) than a TUI. And thus the best GUI for a tool will always be better than the best TUI for the same tool. (Comparing the worst GUI vs the best TUI is a waste of time).
But you're using the definition of "powerful" as in a "powerful programming language". This is a common use of the term, but is much more fuzzy and harder to quantify. It's no longer synonymous with "expressiveness". Generally a language is "powerful" if you can get "a lot done" with relatively few characters or operations. Ex. Python is often considered more "powerful" than C because you can do in a single line what would take dozens or hundreds of lines in C. Similarly, you're saying that a developer can make a comprehensive TUI using less time and effort than it would take for them to make a GUI that's at least as good (including integration with other tools afforded by pipes and redirects).
And I agree with you. But hopefully you also agree with me that a GUI is objectively more "expressive" than a TUI, and in that sense has a higher ceiling for how useful it can be to a user.