aboutsummaryrefslogtreecommitdiff
path: root/org/blog/articles/the-command-line-reactionary.xml
blob: a8d64fd8d3e450906b421eff9d9c83c6263d8c5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<article>
  <p>
    Modern GUI fucking suck. Very little customization, mobile first design,
    <i>GNOMEism</i>, electron... A lot of things to dislike indeed which will
    of course lead to people disliking. Some even lump all of this into one
    thing and blame GUI in general. Those are people I call command line
    reactionaries.
  </p>

  <h2>Why command line is wonderful</h2>
  <p>
    When I write things people (often willingly) misunderstand what I
    say. <b>No, I am not saying command line programs are bad.</b> In fact here
    is a list of why they are wonderful:
  </p>
  <ul>
    <li>Simple to write, test, and maintain.</li>
    <li>Easily automated and used from other programs.</li>
    <li>Doesn't have themeing and integration issues when used in some desktop
    environments and window managers.</li>
    <li>Screen reader friendly unless you really fuck it up.</li>
    <li>Can be used over ssh or telnet.</li>
    <li>Slightly more dummy prove from shitty developers.</li>
    <li>Heavily keyboard focused.</li>
    <li>Can be used in the tty.</li>
  </ul>

  <h2><i>Why do I write this if command line good</i></h2>
  <p>
    There is this generally held belief with some unix users GUI programs can't
    be good. They will make command line versions of programs purely as a
    reaction to the GUI version sucking. Quickly this turns to just making a
    command line version for everything once the black and white "GUI
    inherently bad" mindset kicks in. File manager? Ranger (even though ls,
    touch, rm... exist). Email? Mutt. These programs existence is a net
    positive but did anyone ever stop to think "what if we made and use GUI
    programs that don't suck?". Some tasks are just plain annoying to do from
    the command line yet the command line versions get more development and the
    GUI implementations are left up to beginner python programmers who can't
    get the most out of python yet alone use a better language. Those kinds of
    programmers I speak of also fall for bad software design philosophy the
    most. TUI programs are also kind of stuppa. They cross out a few of the
    things on the command line is wonderful list without getting that much
    closer to the advantages of GUI programs.
  </p>

  <h2>What to do about it</h2>
  <p>
    We need GUI programs that don't use libraries programmed with one desktop
    environment in mind. Use pure gtk and qt instead. GUI programs should work
    in both wayland and X11 not one or the other. No more annoying popups and
    treating the user like they don't know what they are doing. We need config
    files and customization even if its possible for the user to <i>break
    it</i>. GUI programs shouldn't be the dummy option, they should be the
    graphical option.
  </p>
</article>