Comment by opan
15 hours ago
>the argument used to be you used Windows instead of Linux because on Linux you might occasionally have to use the scary terminal to fix an issue
This always annoys me because you're really handicapping yourself by ignoring the CLI on any OS. Sure I use it more heavily on GNU/Linux than I did on Windows as a kid, but that's because it's so good. If I'm ever in front of a Windows machine now I still like to have a terminal handy (and it's even better/more-familiar on macOS, of course), and I've learned things like "type is like cat", "robocopy is like rsync", "tasklist is kinda like ps and taskkill like kill/pkill" which help me to do things better on Windows than when I used it fulltime. I'm glad Microsoft invested more in the CLI with Windows Terminal, OpenSSH in the default install, winget, PowerShell, etc. I think it's better for everyone. I fear the CLI hate is spreading anti-intellectualism. Some people seem annoyed when they even have to use their keyboard instead of their mouse for something.
If CLIs functioned as LLM and you could talk freely with it, there would be no problem. In reality, CLIs are inconsistent and basically function as robotic interfaces, a lot of them not that far of programming.
> If CLIs functioned as LLM and you could talk freely with it, there would be no problem.
On face value, I find this suggestion hilarious. People are having sandboxing issues left, right and center with AI agents and MCPs, so clearly there would be enormous problems with giving an LLM full unscoped terminal access. Remember the guy who had his hard drive wiped?
Do you just mean that the ABIs are inconsistent and you want a more unified way to specify what you want (but the user still more-or-less spells out what command will be invoked)? I have some sympathy for that concern, yes.
If CLIs functioned as LLM and you could talk freely with it, it would kiss your ass while it hallucinates about the files on your hard drives, invent command line switches that either don't do anything or does something other than what you want, and every command that used to take just 5-10 characters would now require you to type paragraphs. No thank you.
GUIs are great for when you're new to a bit of software as you can see the various options and get a feel for the possibilities. CLIs are nearly always more flexible once you've read the man page, but is a steeper learning path.
Automation/scripting is when CLIs really come into their own as otherwise you end up becoming a GUI click monkey. The best is when there's both a GUI and CLI (as long as they work the same way).
I wonder how good CLIs could have been if a fraction of the resources that have gone into GUIs had gone into making CLIs more user friendly. A sequence of words is a pretty natural way of conveying what you want done.
The problem with CLI isn't typing, its discoverability. Keep in mind conveying what you want done requires knowing what can be done first.