Live data from Hacker News

You Don't Need a GUI

github.com

51–60 of 439 posts

Re: You Don't Need a GUI

#51
post #5

Most the things in this list are things that you technically don't need a GUI for, but a GUI is so much better that doing it in command line is pointless. For instance, you could do all those file operations in the terminal, but chances are you're already browsing files using a GUI file manager so opening a terminal to do those things is pointless. Terminal is great if you want to do something complicated that a GUI…

Quote: "..you want to do something complicated that a GUI program can't handle..." Name one thing that a GUI program can't handle, I dare you. Me, on the other hand, I can point you to a trillion dollar business that uses only GUI and not a single CLI, to say the least.

Google has been around since 1998, and after 23 years, their search is still a CLI stuck in a form.

> Me, on the other hand, I can point you to a trillion dollar business that uses only GUI and not a single CLI, to say the least.

No you can't. There are 5 companies with a market cap over a trillion. We can easily rule out Apple, Microsoft, Amazon and Google as they have all developed CLIs.

That leaves Saudi Aramco. Doesn't take long to see they have openings for CLI heavy jobs.[1][2]

[1]: https://apply.aramco.jobs/us/jobs/1786333?lang=en-us

[2]: https://apply.aramco.jobs/us/jobs/1780310?lang=en-us

Re: You Don't Need a GUI

#52
post #35
post #25

Earlier quoted context omitted.

Different people will draw the line in different places. Take your example of file management: since I'm usually in a terminal, it takes far less effort to enter a command than it does to open up a graphical file manager and navigate to the desired directories. The other issue is that few file managers are as powerful as command line utilities. There are exceptions. I am quite fond of Directory Opus while using Windo…

Mac: open $dir Linux (whatever env provides this): xdg-open $dir

rm -rf scratch/

qmv -f do *.pdf

find -name "*.epub" -exec mv {} ~/books/ \;

cp *.c ~/remote/hostname/src # with sshfs

The list can go on. The GUI may be better when you have to manually pick through a small number of files, but calling up a file manager to handle a single file or a bulk operation rarely makes sense (if you're already in a shell).

EDIT: inserted line breaks

Re: You Don't Need a GUI

#53

GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file, including some third party programs). But it's bad for composing programs and interoperability, often it's impossible or very hard to automate (how many people are doing UI testing? there is a good reason it's not many -- it completely sucks) TUI/console is very good for interoperability…

GUIs are great, but not having a CLI is an anti-pattern. Also, having an API, but no reference CLI is an anti-pattern (depends on your API, but if your examples are poorly constructed bash scripts with cURL lines you need a proper CLI).

Re: You Don't Need a GUI

#54

GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file, including some third party programs). But it's bad for composing programs and interoperability, often it's impossible or very hard to automate (how many people are doing UI testing? there is a good reason it's not many -- it completely sucks) TUI/console is very good for interoperability…

> I can right-click to see everything that can be done with the file, including some third party programs Smart move by (for instance) Microsoft when they did that in Windows 95 and continued it til now. You could theoretically design the same functionality into a text user interface. Like if you type the name of something (a filename) and hit enter (or maybe tab? space? Whatever the designer comes up with) it could…

In bash I can type, for example, "git " and it will list out all of the git commands. Not quite as nice as a menu, I suppose, but still helpful for discoverability.

Re: You Don't Need a GUI

#55

GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file, including some third party programs). But it's bad for composing programs and interoperability, often it's impossible or very hard to automate (how many people are doing UI testing? there is a good reason it's not many -- it completely sucks) TUI/console is very good for interoperability…

> I can right-click to see everything that can be done with the file, including some third party programs Smart move by (for instance) Microsoft when they did that in Windows 95 and continued it til now. You could theoretically design the same functionality into a text user interface. Like if you type the name of something (a filename) and hit enter (or maybe tab? space? Whatever the designer comes up with) it could…

> Like if you type the name of something (a filename) and hit enter (or maybe tab? space? Whatever the designer comes up with)

How about:

  $ file --help | grep util
    -u, --utils                output utilities related to FILE
  $ file -u index.html
  index.html: HTML document, ASCII text, with very long lines
    cat index.html
    ed index.html
    lynx index.html

Re: You Don't Need a GUI

#56
post #35
post #25

Earlier quoted context omitted.

Different people will draw the line in different places. Take your example of file management: since I'm usually in a terminal, it takes far less effort to enter a command than it does to open up a graphical file manager and navigate to the desired directories. The other issue is that few file managers are as powerful as command line utilities. There are exceptions. I am quite fond of Directory Opus while using Windo…

Mac: open $dir Linux (whatever env provides this): xdg-open $dir

Windows powershell: ii dir (eg. ii ./)

Re: You Don't Need a GUI

#57
>They were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs).

Yes, I'm sure that's the reason MS Paint was created.

Re: You Don't Need a GUI

#58
Once learned the GUI actions are impossible to forget.

Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list.

The reason is simple: the brain can associate the GUI actions to many concepts from the real world. CLI concepts exist on computers and nowhere else. That knowledge is too abstract and too expensive to be kept unused in our brain's cache non-stop.

Re: You Don't Need a GUI

#60
post #58

Once learned the GUI actions are impossible to forget. Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list. The reason is simple: the brain can associate the GUI actions to many concepts from the real world. CLI concepts exist on computers and nowhere else. That knowledge is too abstract and too expensive to be kept unused in our brain's cache non-stop.

That seems like a poor rule. As a dev and systems engineer those shortcuts are codified in my head, but I've noticed other devs won't even know simple ones. I've taken months off and not forgotten them. GUIs change, get deprecated, can vary by medium etc... so the same can be said for them.

Generally, whether I'm making a CLI or a GUI, I establish contracts for display, input, and output. This at least allows for some albeit veritable consistency.

Post reply on HN