• 4
    return true;
  • 14

    Getting an answer as a graph, or being able to scroll through and collapse information is also useful though.

    The advantage of CLI programs is that you can usually connect them: You can use ffmpeg to split a video into separate frames, imagemagick to convert/edit the images, then pipe it into aws-cli to upload thumbnails to s3, etc.

    But data visualization is also a very powerful thing, and I wish that was a more integrated part of terminals -- especially since terminals are almost always part of a graphical environment these days.

    I like Jupyter (https://jupyter.org/) in that regard: It's a very convenient way to mix up programming/commands with visualized output.
  • 5
    Especially for Git. As someone who specializes in UIs, the worst thing about them is that they enable/encourage the users to do things without thinking.
  • 2
    @Hypergeek that's also called "productivity" unless the developers screwed up and didn't implement proper workflow checking.
  • 12
    Try composing music or doing animation with a cli.
    They both have their uses, and a good, well made GUI can make things so much easier and nicer.
  • 11
    @RememberMe The most powerful GUI applications are those which are enabled by CLI tools and/or a scripting API though.

    For power users, it is great when the two converge... whether it's extending Blender through python scripts, or controlling Spotify through dbus, it's about giving power to end users.

    I think we shouldn't think of CLI vs GUI as a dichotomy, it should be "Do the tools I use give me the level of control I need".

    The presentation of text vs graphics is not the core issue. Its about control vs experience. Text offers a "unified interface" which increases control and composability, graphics offers better UX.

    But they don't have to conflict, when the GUI is a thin presentation layer, draped over a relatively open and controllable backend.

    I manage various projects on Github, and it's great that there is a web interface... yet I check all PRs and issues through the Graphql API on the command line, because I can sort them better there.

    We need more GUI/CLI convergence.
  • 3
    One shell to rule them all
  • 4
    @bittersweet I wish I could ++ that multiple times, I absolutely agree
  • 1
    Yeah, try editing photos from a GUI. Such a nightmare... /s
  • 2
    Totally agree with @bittersweet on this one. Then, of course, it's also a matter of preference and experience. For example, I've tried programming in Vim, though every single time I violently fall back to VS Code.
  • 1
    Both have their purpose.
  • 0
    Oof, didn't expect that many serious replies 😅 Obviously GUIs surely can be much better in certain cases. Obviously I don't do video editing over CLI. That was more related to clunky shitty UIs which would be of much better use as a CLI. I am just more of a terminal guy and I prefer simplistic text structured interfaces over unresponsive GUIs with weird colors, - in most cases not all.
  • 0
    highly depends! i found serious problems in our redis database using (the awesome) RDM tool and our lead developer, a hard anything-should-be-CLI believer, was swearing that everything is working as intended.

    point being: getting a visual representation helps a lot while swifting through large amounts of data no mater how advanced your "i can read in the matrix" CLI level is
  • 0
    Ohhh yes definitely and i miss 3D rendering with dithering effect.

    And 256bit color is more than enough
  • 1
    @Fast-Nop - I can't count the amount of times, things have been done 'blindly' with a UI, as opposed to the terminal.

    Much like forcing students to write notes on paper, and not type them... "getting your hands dirty", in most cases, helps you remember what actually needed to be done as opposed to choosing an option and clicking a series of buttons.
  • 0
    @Hypergeek productivity is exactly doing what needs to be done. For average users, the computer is a commodity like, say, shoes are for you. Users don't care about the inner workings, they care about their task. We devs are paid highly exactly to enable them to do this, that's our job.
  • 1
    @bittersweet - CLIs are like pencil to paper. It helps you undetstand the purpose of what you're doing, and why.

    UIs, unfortunately, are now used as a way to avoid learning the proper steps to accomplish tasks... some of which are way too important to simply jump right into.

    It's comparable to a baby learning to walk, as opposed to giving them engineered robotic leg movers. If they stopped functioning, the necessary muscles to walk wouldn't be powerful enough to work without them.
  • 1
    As usual it isnt as black and white as people think it is.
    Try to produce a song or a video with the cli.
    Both have their uses.

    And I agree with fast-nop here.
    If a gui makes you more productive use a gui. Same goes for the cli
  • 2
    I guess it depends on your use case. I do both programming and Linux server stuff a lot and for the first one I use an IDE, for the second one, I couldn't do without the cli. One can do so much more and extract so much more information with the cli on demand than any gui I've ever seen!
Add Comment