Jump to content

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

Riccardo Cagnasso
8 hours ago, leadeater said:

GUI is not a luxury, it's a convenience and fit for a purpose(s).

"Luxury" and "Convenience" are literally synonyms. Can you even tell which of these definitions is from which word? You are splitting hairs...

 

2a: something (such as an appliance, device, or service) conducive to comfort or ease

 

2a: something adding to pleasure or comfort but not absolutely necessary

BabyBlu (Primary): 

  • CPU: Intel Core i9 9900K @ up to 5.3GHz, 5.0GHz all-core, delidded
  • Motherboard: Asus Maximus XI Hero
  • RAM: G.Skill Trident Z RGB 4x8GB DDR4-3200 @ 4000MHz 16-18-18-34
  • GPU: MSI RTX 2080 Sea Hawk EK X, 2070MHz core, 8000MHz mem
  • Case: Phanteks Evolv X
  • Storage: XPG SX8200 Pro 2TB, 3x ADATASU800 1TB (RAID 0), Samsung 970 EVO Plus 500GB
  • PSU: Corsair HX1000i
  • Display: MSI MPG341CQR 34" 3440x1440 144Hz Freesync, Dell S2417DG 24" 2560x1440 165Hz Gsync
  • Cooling: Custom water loop (CPU & GPU), Radiators: 1x140mm(Back), 1x280mm(Top), 1x420mm(Front)
  • Keyboard: Corsair Strafe RGB (Cherry MX Brown)
  • Mouse: MasterMouse MM710
  • Headset: Corsair Void Pro RGB
  • OS: Windows 10 Pro

Roxanne (Wife Build):

  • CPU: Intel Core i7 4790K @ up to 5.0GHz, 4.8Ghz all-core, relidded w/ LM
  • Motherboard: Asus Z97A
  • RAM: G.Skill Sniper 4x8GB DDR3-2400 @ 10-12-12-24
  • GPU: EVGA GTX 1080 FTW2 w/ LM
  • Case: Corsair Vengeance C70, w/ Custom Side-Panel Window
  • Storage: Samsung 850 EVO 250GB, Samsung 860 EVO 1TB, Silicon Power A80 2TB NVME
  • PSU: Corsair AX760
  • Display: Samsung C27JG56 27" 2560x1440 144Hz Freesync
  • Cooling: Corsair H115i RGB
  • Keyboard: GMMK TKL(Kailh Box White)
  • Mouse: Glorious Model O-
  • Headset: SteelSeries Arctis 7
  • OS: Windows 10 Pro

BigBox (HTPC):

  • CPU: Ryzen 5800X3D
  • Motherboard: Gigabyte B550i Aorus Pro AX
  • RAM: Corsair Vengeance LPX 2x8GB DDR4-3600 @ 3600MHz 14-14-14-28
  • GPU: MSI RTX 3080 Ventus 3X Plus OC, de-shrouded, LM TIM, replaced mem therm pads
  • Case: Fractal Design Node 202
  • Storage: SP A80 1TB, WD Black SN770 2TB
  • PSU: Corsair SF600 Gold w/ NF-A9x14
  • Display: Samsung QN90A 65" (QLED, 4K, 120Hz, HDR, VRR)
  • Cooling: Thermalright AXP-100 Copper w/ NF-A12x15
  • Keyboard/Mouse: Rii i4
  • Controllers: 4X Xbox One & 2X N64 (with USB)
  • Sound: Denon AVR S760H with 5.1.2 Atmos setup.
  • OS: Windows 10 Pro

Harmonic (NAS/Game/Plex/Other Server):

  • CPU: Intel Core i7 6700
  • Motherboard: ASRock FATAL1TY H270M
  • RAM: 64GB DDR4-2133
  • GPU: Intel HD Graphics 530
  • Case: Fractal Design Define 7
  • HDD: 3X Seagate Exos X16 14TB in RAID 5
  • SSD: Inland Premium 512GB NVME, Sabrent 1TB NVME
  • Optical: BDXL WH14NS40 flashed to WH16NS60
  • PSU: Corsair CX450
  • Display: None
  • Cooling: Noctua NH-U14S
  • Keyboard/Mouse: None
  • OS: Windows 10 Pro

NAS:

  • Synology DS216J
  • 2x8TB WD Red NAS HDDs in RAID 1. 8TB usable space
Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Radium_Angel said:

If you knew the command existed in the first place...

Sure, however I would consider that baseline knowledge, just like the idea that you can click on a button to have something happen in a GUI. It's just less common to know this today because most people don't interact with the command line every day.

13 minutes ago, Radium_Angel said:

Your point is noted. Everything I know about Excel has been through trial and error.

Hats off to you if that's true, but are you sure you don't include an occasional google search in your process?

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

45 minutes ago, Sauron said:

an occasional google search in your process?

Not at work (internet access is heavily restricted. Gov't lab and all that) and at home I am not devoting brain cells to work-related stuff. So no.

Ditto on the PS.  I figure it out for myself, for a way that works for me.

I'm sure my Excel macros are a nightmare to someone formally trained 🤪

 

47 minutes ago, Sauron said:

Sure, however I would consider that baseline knowledge

Absolutely, baseline knowledge changes the scope of my original question, but no one in their right mind tackles *nix without some kind of book, or wise sage next to them.

My 1st intro to *nix was SuSE Linux back in...96 or so, at a bookstore, it came with a manual that was translated from German, warts and all.

Nothing more frustrating than a typo in a command line instruction set from the official manual...

NOTE: I no longer frequent this site. If you really need help, PM/DM me and my e.mail will alert me. 

Link to comment
Share on other sites

Link to post
Share on other sites

When I started using computers back in the early 80's, Home Computers they were all 8-bit and no such thing as a GUI. My first computer was a TI 94/4A.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Why do command lines exist?  Because they're fucking awesome.

 

I use a gui most of the time, but I do love me some command line.  

 

GUI Users:  How do you flush your DNS Cache quickly in windows?  (According to google?  You can't?  WEIRD.)

CMD:  ipconfig /flushdns  

 

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours 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.

Well, if you want to do anything that the GUI can't just do itself, CLI becomes infinitely more useful.

 

Good luck troubleshooting every software issue you'll encounter on Windows without a CMD or Powershell window. While the front-end stuff for this can sometimes work, it's not as reliable as the depth of control you get in your commandline utilities.

 

Or, of course, you can always just reinstall Windows every time something goes wrong, or pay someone to try to fix it for you.

 

Edit: Do you never use .bat or .cmd scripts? They'll change your life. I use one to open all the applications I need for live-streaming at once. It's a godsend.

Processor: AMD Ryzen 7 5800X | Memory: 32GB Corsair VENGEANCE RGB PRO 3600MHz (18-22-22-42) | Motherboard: MSI MAG X570 TOMAHAWK WIFI (MS-7C84) | Graphics: AMD Radeon VII 16GB

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, Riccardo Cagnasso said:

 

 

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.

 

You'd be surprised. With all the web-view, chromium CEF's, Electron, and so forth almost 99% of the code is GUI cruft.

 

The reality is, that it's easier to hammer out a tool in 10 minutes with a CLI. You can write something in C, C++, Python, Perl, PHP, etc and in some cases you can even use javascript, without ever writing any GUI cruft.

 

An example of "GUI" as a consequence is when those command line tools have to generate something human-readable in HTML. It doesn't necessarily need to be interactable, but the sheer amount of markup needed to have a valid web page is fairly excessive and verbose, and the reason why CSS became a thing because of the tag-soup needed to make it look like anything but text.

 

Other intermediate files tend to be CSV's or JSON.

 

But even then, CLI "UI" is a thing and also fairly excessive. If you do anything other than tab, space or carriage return, you need a third party library, or you'll be writing a lot of manual escape codes that make the code itself unreadable.

 

The reason the CLI is still a thing is because the UI is unnecessary for various tools. An example of this is FFMPEG. Look at Handbrake, the vast majority of the options available in ffmpeg are not available. You can use scripts to automate things. To automate things in a GUI-based program, requires that the application have a plugin-api, or a script-able UI, and if it has neither, you're basically stuck with writing a macro, and if the UI ever changes, you have to rewrite the macro with every version.

 

Another problem is that most UI software doesn't interoperate outside it's field of use. Like you can get plugins for DAW's that also work in NLE's but good luck getting plugins made for Davinci to work in Premiere or Final Cut.

 

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, leadeater said:

I wonder if people would deem editing/creating YAML text files for Puppet/Ansible as CLI? Probably not otherwise coding would essentially start to fall under that too then.

I'm 50/50 between doing that on vim or vscode, so I guess your text editor is what defines if you're using a CLI or not.

 

However, I bet someone will appear claiming that vim is not a true cli editor and that ed is the standard text editor.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

On 11/14/2021 at 10:45 PM, emosun said:

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.

I didn't say you said it. You said that you are not going to stop anyone using CLIs, I merely pointed out that since you don't have any power to do that anyway, your sentence is meaningless.

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, emosun said:

oh , I see. Maybe I should elaborate. A gui is luxury to me compared to typing a long sentence of rubbish into a 1970's era relic.

To me the silly thing would be responding at all to someone who led with "if you like it then more power to you". It might imply they skimmed and then warped the comment to fit their own narrative. But such is the way , I seem to be a magnet for people not reading anything I type.

That's just plainly wrong. The most advanced software in development right now, like space AI magic recognition stuff is probably CLI based. So what's the 1970 era relic?

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Riccardo Cagnasso said:

That's just plainly wrong. The most advanced software in development right now, like space AI magic recognition stuff is probably CLI based. So what's the 1970 era relic?

Do you really think that the CLI is the future of computing? I don't mind using it, but I'd be shocked if usage of the command line isn't in decline.

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, emosun said:

oh , I see. Maybe I should elaborate. A gui is luxury to me compared to typing a long sentence of rubbish into a 1970's era relic.

To me the silly thing would be responding at all to someone who led with "if you like it then more power to you". It might imply they skimmed and then warped the comment to fit their own narrative. But such is the way , I seem to be a magnet for people not reading anything I type.

CAn you do a simple FLUSHDNS command from inside of windows?  

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, tkitch said:

CAn you do a simple FLUSHDNS command from inside of windows?  

 

I can flush the DNS via CCleaner without ever having to touch the command line.

 

Can you play a modern game inside the command prompt or terminal window? What about watch a YouTube video? Look at a JPG? Manipulate a photo with real-time feedback? Scrub a video during editing? Do a lesson on Duolingo? Have a video chat?

 

No, you can't, because the command line is limited to text. The reason why it was used at the time was due to hardware limitations. The reason it exists today is primarily for legacy purposes. The reason why 99%+ users today never touch it is because the visual experience of a modern computer is so insanely better that virtually no one would ever choose a purely text-based computing experience for anything other than to do a specific job.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, YoungBlade said:

I can flush the DNS via CCleaner without ever having to touch the command line.

 

Can you play a modern game inside the command prompt or terminal window? What about watch a YouTube video? Look at a JPG? Manipulate a photo with real-time feedback? Scrub a video during editing? Do a lesson on Duolingo? Have a video chat?

 

No, you can't, because the command line is limited to text. The reason why it was used at the time was due to hardware limitations. The reason it exists today is primarily for legacy purposes. The reason why 99%+ users today never touch it is because the visual experience of a modern computer is so insanely better that virtually no one would ever choose a purely text-based computing experience for anything other than to do a specific job.

Well, if you want to add apps?  Yeah, all that shit can be done from the command line.  your argument isn't very strong.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, YoungBlade said:

Do you really think that the CLI is the future of computing? I don't mind using it, but I'd be shocked if usage of the command line isn't in decline.

They didn't say that, they meant that CLIs are what's in use for building what you call the future.

 

Even if a end user usually doesn't use it, those end-user tools usually come from CLI tools.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, tkitch said:

CAn you do a simple FLUSHDNS command from inside of windows?  

 

Ok, this isn't to harp on you specifically, but I'd like to point out here that "You can't execute function X in a GUI, you can only do it with a CLI" is not a point against the GUI or in favor of the CLI. The fact that you can't flush DNS with a GUI directly in Windows is because nobody cared to ever make a GUI for it. There's nothing inherently preventing the function to be called by a button press. I'm not sure where this pointless insistence comes from that "the CLI is where the most powerful functions are". That has nothing to do with CLI as a concept, you can call a function with a typed command or with a button that has been programmed to do that for you. I find it ironic that people love the CLI for its automation capabilities but ignore the fact that a button press is basically an automation of whatever text-based command you enter into the CLI, but that's for some reason just not cutting it.

 

And to reiterate, I stand by my original point that the CLI has its use cases and is a perfectly valid alternative to a GUI if you prefer to use the former over the latter. But much of what has been stated in this thread intended to highlight the supposed superiority of the CLI is in fact only a condemnation of lazy developers not implementing all their functions into the GUI. Simply put, lacking a GUI to call a flush DNS function is not a pro-CLI/contra-GUI argument. It's just a means to point out Microsoft's laziness. 

And now a word from our sponsor: 💩

-.-. --- --- .-.. --..-- / -.-- --- ..- / -.- -. --- .-- / -- --- .-. ... . / -.-. --- -.. .

ᑐᑌᑐᑢ

Spoiler

    ▄██████                                                      ▄██▀

  ▄█▀   ███                                                      ██

▄██     ███                                                      ██

███   ▄████  ▄█▀  ▀██▄    ▄████▄     ▄████▄     ▄████▄     ▄████▄██   ▄████▄

███████████ ███     ███ ▄██▀ ▀███▄ ▄██▀ ▀███▄ ▄██▀ ▀███▄ ▄██▀ ▀████ ▄██▀ ▀███▄

████▀   ███ ▀██▄   ▄██▀ ███    ███ ███        ███    ███ ███    ███ ███    ███

 ██▄    ███ ▄ ▀██▄██▀    ███▄ ▄██   ███▄ ▄██   ███▄ ▄███  ███▄ ▄███▄ ███▄ ▄██

  ▀█▄    ▀█ ██▄ ▀█▀     ▄ ▀████▀     ▀████▀     ▀████▀▀██▄ ▀████▀▀██▄ ▀████▀

       ▄█ ▄▄      ▄█▄  █▀            █▄                   ▄██  ▄▀

       ▀  ██      ███                ██                    ▄█

          ██      ███   ▄   ▄████▄   ██▄████▄     ▄████▄   ██   ▄

          ██      ███ ▄██ ▄██▀ ▀███▄ ███▀ ▀███▄ ▄██▀ ▀███▄ ██ ▄██

          ██     ███▀  ▄█ ███    ███ ███    ███ ███    ███ ██  ▄█

        █▄██  ▄▄██▀    ██  ███▄ ▄███▄ ███▄ ▄██   ███▄ ▄██  ██  ██

        ▀███████▀    ▄████▄ ▀████▀▀██▄ ▀████▀     ▀████▀ ▄█████████▄

 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, YoungBlade said:

Do you really think that the CLI is the future of computing? I don't mind using it, but I'd be shocked if usage of the command line isn't in decline.

It plainly is. Not in the sense that is overtaking the GUI or anything, but in the sense that it is and will always be the default interface for any software.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, tkitch said:

Well, if you want to add apps?  Yeah, all that shit can be done from the command line.  your argument isn't very strong.

Since when is adding a program to a computer an invalid solution to a problem? Do you only have the OS installed on your machine?

 

And how do you play League of Legends from the command line? A command prompt can't display 3D graphics.

 

1 hour ago, Riccardo Cagnasso said:

It plainly is. Not in the sense that is overtaking the GUI or anything, but in the sense that it is and will always be the default interface for any software.

Most software made today has no CLI. At best you can input arguments when you launch it. Unless you're specifically excluding consumer software, mobile apps, and games from this discussion for some reason, but I don't see why that's fair. The video that prompted this was targeted at everyday users.

 

The CLI is unintuative and slow to learn compared to modern GUIs. The command line is a product of its time and it shows. And no, that doesn't mean I'm saying the CLI is somehow "backwards."

 

And there's no reason to think that the CLI will be around forever. It could easily be replaced by a different solution at some point if keyboards ever die as a common input system. Saying that it will always be the default interface is like someone saying that punch cards will always be the default interface for software. 

Link to comment
Share on other sites

Link to post
Share on other sites

No idea what you guys arguing, they both overlap each other functionality and will co-exist for a very long time. 
I personally use command for some tasks because it's simply faster to do so like pinging a website. 

| Intel i7-3770@4.2Ghz | Asus Z77-V | Zotac 980 Ti Amp! Omega | DDR3 1800mhz 4GB x4 | 300GB Intel DC S3500 SSD | 512GB Plextor M5 Pro | 2x 1TB WD Blue HDD |
 | Enermax NAXN82+ 650W 80Plus Bronze | Fiio E07K | Grado SR80i | Cooler Master XB HAF EVO | Logitech G27 | Logitech G600 | CM Storm Quickfire TK | DualShock 4 |

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, YoungBlade said:

Do you really think that the CLI is the future of computing? I don't mind using it, but I'd be shocked if usage of the command line isn't in decline.

Imho the usage of CLI and GUI won't change anytime soon. Both interfaces have pros and cons that are inherent to them.

 

11 hours ago, YoungBlade said:

The reason why it was used at the time was due to hardware limitations. The reason it exists today is primarily for legacy purposes.

Not true, for certain tasks it's just the quicker, easier and more convenient way to do get things done.

 

11 hours ago, YoungBlade said:

The reason why 99%+ users today never touch it is because the visual experience of a modern computer is so insanely better that virtually no one would ever choose a purely text-based computing experience for anything other than to do a specific job.

I typically choose the method that is most convenient, that is often a GUI, but sometimes a CLI. The problem with GUIs is that you can usually only do whatever the designer of the GUI expected users to do. You rarely have the possibility to combine functions from different GUI programs or extend it's functionality.

 

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Limit64 said:

Not true, for certain tasks it's just the quicker, easier and more convenient way to do get things done.

If the GUI was invented first, do you think the CLI would've been invented later? Do you think Morse Code would have been invented if SMS was created first?

 

All I'm saying is that the reason the command line exists today is that it was invented first, and the reason it was invented first is because the hardware of the time did not allow for a GUI.

 

9 minutes ago, Limit64 said:

The problem with GUIs is that you can usually only do whatever the designer of the GUI expected users to do. You rarely have the possibility to combine functions from different GUI programs or extend it's functionality.

Of course GUI programs let you combine their functions. That's how computers work. You can download a picture via Firefox, locate it with Explorer, edit it with GIMP, and then make it your profile picture on Steam.

 

And I don't see how you can extend the functionality of a CLI program. It just does what it was designed to do. Unless you combine it with other programs, but that's just combining functions.

Link to comment
Share on other sites

Link to post
Share on other sites

Showing my age here.... does anyone remember getting a book with the commands inside with their computer?

Link to comment
Share on other sites

Link to post
Share on other sites

51 minutes ago, YoungBlade said:

If the GUI was invented first, do you think the CLI would've been invented later?

Yes, I do.

 

51 minutes ago, YoungBlade said:

Do you think Morse Code would have been invented if SMS was created first?

Probably yes. Do you know how much infrastructure you need for SMS to work. Morse code is much more versatile than SMS.

 

51 minutes ago, YoungBlade said:

All I'm saying is that the reason the command line exists today is that it was invented first, and the reason it was invented first is because the hardware of the time did not allow for a GUI.

If there were no CLI yet someone would invent it. Even MS added the Powershell long after they had a GUI because they recognized how useful it can be for certain use-cases.

 

51 minutes ago, YoungBlade said:

Of course GUI programs let you combine their functions. That's how computers work. You can download a picture via Firefox, locate it with Explorer, edit it with GIMP, and then make it your profile picture on Steam.

Sure, but you have to do it manually. Now imagine you want to do something like that for a whole collection of pictures, you will sit there for hours while with CLI tools, you just type in a single line and the whole workflow will run without any user interaction.

 

51 minutes ago, YoungBlade said:

And I don't see how you can extend the functionality of a CLI program. It just does what it was designed to do. Unless you combine it with other programs, but that's just combining functions.

You write a script and yes it can but does not have to include using multiple programs. The advantage of CLI there is that you can very easily do that while for GUIs you usually have to do it manually.

Link to comment
Share on other sites

Link to post
Share on other sites

31 minutes ago, Limit64 said:

Yes, I do.

 

Probably yes. Do you know how much infrastructure you need for SMS to work. Morse code is much more versatile than SMS.

 

If there were no CLI yet someone would invent it. Even MS added the Powershell long after they had a GUI because they recognized how useful it can be for certain use-case.

 

You misunderstood my hypotheticals. I'm talking about a world where GUI and SMS are already fully established. The CLI and telegraph were never invented. We have modern smartphones and computers. No one has ever seen either of those technologies.

 

Now, you go to Apple or Samsung and pitch them Morse Code communication. Instead of texting, you can tap a pattern on the phone, and then the other user receives a series of beeps instantaneously. Not saved for later - only instant communication.

 

You would be laughed out of the building. That's a terrible system compared to the alternatives.

 

In the same way, you go to Microsoft and tell them that, instead of the GUI based control panel and other utilities, you can now open a blank screen and type in memorized words and then it will display outputs as simple text.

 

Who is going to buy what you're selling?

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


×