Jump to content

"Why Do Command Lines Still Exist?" is getting it wrong

Riccardo Cagnasso

 

Nothing in this video is really "wrong", but the angle is. The video is a list of reasons why the CLI is useful or preferrable. Which is fine, but it's not the main reason why the CLI is "still" around.
In fact the whole framing is kinda incorrect. The CLI is the preminent type of computer interface, if we consider the whole software-scape.
With this I mean that - usually - there's always a command line software that can do a certain task while the vice-versa is not true. (Exceptions of course are if the task cannot be done on CLI at all, command line photoshop is nonsense). There isn't always a software to do what you want to do with a GUI. But if there's at least a software that can do what you need to do, there's a command line version of it. This can be less apparent when you are "just a user", but it's clearer and clearer the more technical your approach to a computer is and is quite evdent if you are a computer programmer.

So, why is that? Why is (still?) the CLI the main interface for user software? The answer is not mentionend in the video and it's that it's way, way, waaay easier to write a command line software than a graphical interface. You cannot appreciate how time consuming and tedious is to write a graphical interface and how difficoult is to write a decent one if you have not done it. While anyone with a somewhat fuctioning brain can pick up argparse.

 

I've read a statistic some decades ago that said that on average 90% of codebase was GUI logic and less than 10% buisiness logic. I don't know how much this still holds, but I'm sure from experience that it's not that far from it. Think about this. If a software that does a task costs 10000$ with a CLI, it costs 90000$ to develop a GUI for it. That's why CLI will be forever around.

Link to comment
Share on other sites

Link to post
Share on other sites

Yeah horses are still around despite cars being infinitely harder to build than a horse.

 

Im kinda glad I never have to type commands in anywhere its a real luxury that only I and anyone who uses windows 95 and higher can really enjoy. But you if you like it then more power to you.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, emosun said:

Yeah horses are still around despite cars being infinitely harder to build than a horse.

 

Im kinda glad I never have to type commands in anywhere its a real luxury that only I and anyone who uses windows 95 and higher can really enjoy. But you if you like it then more power to you.

Tell that to network engineers, programmers, etc. who use it day and night because that's where the powerful functions are. But you keep not understanding the point 🙂

Current Network Layout:

Current Build Log/PC:

Prior Build Log/PC:

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Lurick said:

Tell that to network engineers, programmers, etc. who use it day and night because that's where the powerful functions are. But you keep not understanding the point 🙂

Oh is the point that all 7 billion people on earth are network engineers?

 

I sure hope it is. I hope the point of being a huge fan of command lines is that more than 1% of the earth population gives a crap about command line.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, emosun said:

Oh is the point that all 7 billion people on earth are network engineers?

 

I sure hope it is. I hope the point of being a huge fan of command lines is that more than 1% of the earth population gives a crap about command line.

No its your holier than thou condescending attitude of "I don't see it as being useful therefor nobody should ever use it and those that do are morons" that needs addressing. Just because YOU don't like something doesn't mean jack all nor should it and to try and bring people down because YOU don't see the value in something just goes to show how little thought you give to others that DO use something on a daily basis and DO enjoy using something because it's either the only way they can or it's the better way to do it for now.

Current Network Layout:

Current Build Log/PC:

Prior Build Log/PC:

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, Lurick said:

Tell that to network engineers, programmers, etc. who use it day and night because that's where the powerful functions are. But you keep not understanding the point

I mean, I acknowledge that a command line can be a very powerful tool, and that sometimes you pretty much can't do without one, but won't say I like using one.

I prefer a GUI whenever possible.

 

My main frustration with command line interfaces is how easy it is to lose track of what you've messed up changed.

 

Link to comment
Share on other sites

Link to post
Share on other sites

32 minutes ago, Riccardo Cagnasso said:

command line photoshop is nonsense

Are you sure? https://imagemagick.org/index.php

33 minutes ago, Riccardo Cagnasso said:

So, why is that? Why is (still?) the CLI the main interface for user software? The answer is not mentionend in the video and it's that it's way, way, waaay easier to write a command line software than a graphical interface. You cannot appreciate how time consuming and tedious is to write a graphical interface and how difficoult is to write a decent one if you have not done it. While anyone with a somewhat fuctioning brain can pick up argparse.

That's true, it is much easier in many cases - however I wouldn't say it's the only reason CLI programs are still around. The command line still offers a level of flexibility GUIs simply can't. For instance, it's simple enough to run a CLI command on a batch of files with pattern matching on the name, whereas it would be nigh on impossible to achieve with just a bunch of buttons or checkboxes.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

31 minutes ago, Riccardo Cagnasso said:

There isn't always a software to do what you want to do with a GUI. But if there's at least a software that can do what you need to do, there's a command line version of it.

This is a bit ciruclar or whatever you want to call it. Either the software has a command line interface, or under the hood it's just a bunch of programs executed after another. Not too dissimilar to saying finding an engine to your liking might be difficult, but as long as there are cars there is an engine.

 

CLI will always be around I think, first and foremost because should all hell break loose you'll still have a basic way of accessing your system. Sometimes that simple interface also is simply the only thing you need to e.g. check on a server or set up a new cluster. Also, as I think is the point of your post, not everything needs a GUI (it's also good practise to separate the program from the GUI).

19 minutes ago, emosun said:

Yeah horses are still around despite cars being infinitely harder to build than a horse.

 

Im kinda glad I never have to type commands in anywhere its a real luxury that only I and anyone who uses windows 95 and higher can really enjoy. But you if you like it then more power to you.

It's a good thing the CLI is not required for day to day use. It makes computers a lot more accessible. They are an essential tool however. Personally on Linux I also like the command line more, because often I know exactly what I want to do and hence I'm faster/more comfortable typing that in than looking it up in some GUI.

Crystal: CPU: i7 7700K | Motherboard: Asus ROG Strix Z270F | RAM: GSkill 16 GB@3200MHz | GPU: Nvidia GTX 1080 Ti FE | Case: Corsair Crystal 570X (black) | PSU: EVGA Supernova G2 1000W | Monitor: Asus VG248QE 24"

Laptop: Dell XPS 13 9370 | CPU: i5 10510U | RAM: 16 GB

Server: CPU: i5 4690k | RAM: 16 GB | Case: Corsair Graphite 760T White | Storage: 19 TB

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, akio123008 said:

I mean, I acknowledge that a command line can be a very powerful tool, and that sometimes you pretty much can't do without one, but won't say I like using one.

I prefer a GUI whenever possible.

 

My main frustration with command line interfaces is how easy it is to lose track of what you've messed up changed.

That's a fair point and I don't want to say the CLI is the end all be all either, there are definitely valid places to use a GUI but there are also a TON of times where people slap a GUI with no thought for security onto a product and ship it and act surprised when their previously secure product turns into swiss cheese with vulnerabilities.

 

Edit:

Forgot to say, a GUI appliance or something can be extremely useful when given the proper attention to detail around security which can then interface with CLI driven devices because it can make automation much easier as well.

Current Network Layout:

Current Build Log/PC:

Prior Build Log/PC:

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, Lurick said:

No its your holier than thou condescending attitude of "I don't see it as being useful therefor nobody should ever use it and those that do are morons" that needs addressing. Just because YOU don't like something doesn't mean jack all nor should it and to try and bring people down because YOU don't see the value in something just goes to show how little thought you give to others that DO use something on a daily basis and DO enjoy using something because it's either the only way they can or it's the better way to do it for now.

Dont recall saying that anywhere. Care to quote/link the area where I said nobody should use it.

 

Seriously I'd be very interested to see this line where I wrote nobody who currently uses it should be using it.

Link to comment
Share on other sites

Link to post
Share on other sites

There are 4 reasons I go to the command line to do something.

 

1.) My mouse took a dump and I'll have to be exclusively keyboard while I change the batteries/the mouse.

2.) The GUI sucks (this is the biggest reason)

3.) I need to do something weird.

4.) I'm using something where every MB of RAM and every CPU cycle counts

 

GUIs, while thy can be great, there are still a lot of bad ones out there and ones that lack features of their CLI counterparts. For Windows Partition manager, for example, there have been tons of times when I'm trying to do something through the GUI, but it just says something along the lines of "Task Failed" and doesn't do anything or has the option grayed out. I then have to go and use diskpart for it to either give me an actual error or to have it actually work.

 

Another example is probably package management on Linux. Almost any Linux vet you find will say that installing stuff through the command line is the way to go. A decent amount of that reason is that they're used to it, but probably the biggest part is that the GUI applications overall are terrible. KDE Discover, for example, is known for not getting all the dependencies correctly and thus causing broken installs. The new Gnome Software is very hard to navigate with stuff that doesn't make sense, and it's overall slower than using doing "apt search chromium" and "sudo apt install chromium". 

 

I'm not saying I prefer CLI or anything, if what I'm trying to do has a good GUI (or at least a passable one) I'll try using that first, but whether it's on Windows, Linux, or MacOS, the CLI does have it's place.

Link to comment
Share on other sites

Link to post
Share on other sites

41 minutes ago, emosun said:

Yeah horses are still around despite cars being infinitely harder to build than a horse.

 

Im kinda glad I never have to type commands in anywhere its a real luxury that only I and anyone who uses windows 95 and higher can really enjoy. But you if you like it then more power to you.

Except not really. You can afford to use only GUIs because your usage of a computer - broad as it my be - it's at the end of the day limited to a subset of what it could do. Which is perfectly fine according to what your job is. But if you were to be, say, a computer programmer, your perspective would be quite different. You would be forced to use CLI software to do your daily job.

21 minutes ago, Sauron said:

Are you sure? https://imagemagick.org/index.php

That's true, it is much easier in many cases - however I wouldn't say it's the only reason CLI programs are still around. The command line still offers a level of flexibility GUIs simply can't. For instance, it's simple enough to run a CLI command on a batch of files with pattern matching on the name, whereas it would be nigh on impossible to achieve with just a bunch of buttons or checkboxes.

Imagemagick is not photoshop. Anyway, yes, I myself prefer the CLI to they GUI in many, maybe most, instances. But this is not really the point. Something doesn't need to be handier to remain relevant when it's functional an costs one tenth.

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, Riccardo Cagnasso said:

Except not really. You can afford to use only GUIs because your usage of a computer - broad as it my be - it's at the end of the day limited to a subset of what it could do. Which is perfectly fine according to what your job is. But if you were to be, say, a computer programmer, your perspective would be quite different. You would be forced to use CLI software to do your daily job.

Yeah. If someone needs a horse im not gonna stop them

Link to comment
Share on other sites

Link to post
Share on other sites

32 minutes ago, emosun said:

Yeah. If someone needs a horse im not gonna stop them

But you are in no position to stop people using CLIs even if you wanted to. What are you really saying more than "I don't like CLIs"?

Link to comment
Share on other sites

Link to post
Share on other sites

20 minutes ago, Riccardo Cagnasso said:

But you are in no position to stop people using CLIs even if you wanted to.

where did i say I had the power to do so?

I seem to be having a very large issue with people writing their own sentences in their mind that I didn't type. If you want to read what i type in some sort of tone that you are creating , that's fine , but just don't be surprised when you aren't able to quote something that at no point I ever said or typed. That essentially will be localized to just a you problem and not a me problem.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Riccardo Cagnasso said:

Except not really. You can afford to use only GUIs because your usage of a computer - broad as it my be - it's at the end of the day limited to a subset of what it could do. Which is perfectly fine according to what your job is. But if you were to be, say, a computer programmer, your perspective would be quite different. You would be forced to use CLI software to do your daily job.

You are lumping all programmers together in a very bizarre way. Two of my friends who are programmers never use a CLI at their day jobs. They use IDEs and the software they make is designed to be run with a GUI. Additionally, for my own hobby programming, I almost never make a CLI version. I know enough Java to generate a graphical interface fairly quickly. Yes, I separate model and view, but you don't need a CLI at any step of the process in 2021. Frankly, you didn't as of 2005 depending on the language.

 

This is not out of some fear or hatred of the command line. I prefer to use it for running a Linux web server I have, and so when coding PHP, I'm technically doing so with the CLI, but even then I would not have to. I could also use a GUI for remote file editing instead, run Ubuntu desktop instead of Ubuntu server, and never see the CLI. I just prefer to use the CLI in that particular use case.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Lurick said:

No its your holier than thou condescending attitude of "I don't see it as being useful therefor nobody should ever use it and those that do are morons" that needs addressing. Just because YOU don't like something doesn't mean jack all nor should it and to try and bring people down because YOU don't see the value in something just goes to show how little thought you give to others that DO use something on a daily basis and DO enjoy using something because it's either the only way they can or it's the better way to do it for now.

Just because you do things a different way doesn't mean it's necessarily better.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, emosun said:

Oh is the point that all 7 billion people on earth are network engineers?

 

I sure hope it is. I hope the point of being a huge fan of command lines is that more than 1% of the earth population gives a crap about command line.

I think he is just saying that there is a not insubstantial group of people who benefit from working in that environment.

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Jaesop said:

I think he is just saying that there is a not insubstantial group of people who benefit from working in that environment.

What percentage of people do you think actually uses the command line on a daily basis?

 

And I don't mean people like me who use it on occasion to update Linux or check on a web server. I mean people who daily-drive a CLI at work or home.

 

I know one person who you could argue uses a CLI regularly enough to be considered a daily-driver, but considering that I studied CS in college, and so have multiple programmer friends, that's not saying much.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, YoungBlade said:

What percentage of people do you think actually uses the command line on a daily basis?

A not insubstantial number.

 

2 minutes ago, YoungBlade said:

I mean people who daily-drive a CLI at work or home.

Do you mean use a CLI every day? I mean, clearly enough people - folks working in networking and sysadmin often will. Do you mean 100% operate in a terminal environment? I don't think anyone is talking about that.

Link to comment
Share on other sites

Link to post
Share on other sites

I think the real reason why CLI is still so relevant is that most back end programs can only be accessed by CLI. There isn't a reason for it to not be as most people who aren't web developers will even see it. Not only that but SSH is still an extremely powerful tool. Another part is when you don't want to install a GUI, because why have it draining resources when you don't need it? They can be useful for personal computers, but only if you know how to use them in a workflow.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Jaesop said:

A not insubstantial number.

 

Do you mean use a CLI every day? I mean, clearly enough people - folks working in networking and sysadmin often will. Do you mean 100% operate in a terminal environment? I don't think anyone is talking about that.

I would count a sysadmin who just works in the CLI every day or every other day. It can just be a terminal window.

 

You say a "not insubstantial number." Is that 15%? 25%? 35%?

 

I would guess less than 1%

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, YoungBlade said:

You say a "not insubstantial number." Is that 15%? 25%? 35%?

 

I would guess less than 1%

I have no idea, and I'm not sure why you're asking me and are so insistent on the question?

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Jaesop said:

I have no idea, and I'm not sure why you're asking me and are so insistent on the question?

You were the one who said "a not insubstantial number of people" in response to someone who is questioning whether more than 1% of people even care about the CLI

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, YoungBlade said:

You were the one who said "a not insubstantial number of people" in response to someone who is questioning whether more than 1% of people even care about the CLI

No, I was just clarifying what the person they were responding to meant. More specifically in response to:

 

Quote

Oh is the point that all 7 billion people on earth are network engineers?

I was not contesting or addressing what percentage of people use the CLI.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×