Honestly, some things can be done faster/as fast on GUI. So really just use whatever increases your productivity.
IMO GUIs are always faster when it's something you've never used before, or use very infrequently.
CLI is better if you're used to the task you're doing, or automating things. But for infrequent tasks looking up the commands (or looking at old notes to find it) is very slow and rather annoying.
Moving files across several subfolder levels tends to be much faster on a GUI. Finding files is usually much faster via CLI, even when you have to look up again how to use the find command of your choice
Pshaw! CLI and GUI? Real network engineers make hand crafted API calls!
You gotta admit, it's fun to meme the opposite camp. Whether you are a GUI or CLI person.
But you look way cooler when using the terminal for most of your stuff 💁♂️ also using a riced out window manager and riced out Vim config for which you spent hundreds of hours on customizing every aspect of it :p normal people don't know what the fuck is going on on your pc so you can feel instantly feel superior to those normies! Ah also btw i use arch ;)
I use both. I use the CLI for a lot of stuff but I also use the GitHub Desktop fork for Linux lol. I don't care how powerful git is in CLI, that gui is just so nice imo
To get annoyingly serious on a funny post, the one huge danger of GUIs that I've personally witnessed in many of my juniors is that they abstract away the need to understand the tool you're using.
I regularly use a Git GUI, and I might have to google the rebase command for more complex tasks, but I know how Git works. I know what I can do with rebase, even if I don't exactly know how to. If you only live in the GUI, you can get far never understanding the system. Until one day, when you fuck up a commit or a push, and you're totally hosed because there isn't a pretty button with the exact feature you want in your GUI.
Somehow I've made it 7 years without messing up a git command that I couldn't fix in like 2 seconds. I primarily use vscode's source controller more featured source controllers like sourcetree feel overly complex and typing out git commands is fine but you spend more time doing that than you would with vscode's approach. I'm really curious about what you mean by fuck up a commit or push
So... my only requirement for my tools is that they have a well-supported CLI, and can be installed headless without graphical dependencies. Tools must be scriptable.
That said, it's nice to have a UI. My ideal configuration is a scriptable tool with a good API, and a separate GUI tool that can drive it.
"graphical user interfaces make easy tasks easy, while command line interfaces make difficult tasks possible"
- William E. Shotts Jr., The Linux Command Line: A Complete Introduction
It has taken me a long time to get comfortable using a Linux CLI (definitely not as familiar with windows cmd prompt/powershell), and I know that if I log into a box anywhere, If it has sh
or bash
or some variant of those shells, I'll be able to get by.
Now, on my home server, moving & renaming a bunch of media files has me really wishing I had a DE installed there to Ctrl + click/Drag-n-drop...
Also, I love using VScodium/Code as an IDE bc of its configurability & rich plugin ecosystem -- but recently I had some performance hiccups with extensions not playing nice together and started (again) down the masochistic path of configuring neovim to use as an "IDE"...
Why not mount your server as a share and use your desktop GUI to manipulate files? Then you can do both.
Yeah, keep telling yourself that buddy.
So far I don't think anyone has interpreted the meme correctly, the wikiHow guy is supposed to be an obvious shortcoming expressed as a guy trying to convince himself it's not a problem.
PSA: Since his finger and the reflection touches, he's likely looking into a one way mirror. There's someone behind the glass.
I just walked around my house touching all my mirrors and they all do this. Hope they're not on to me now... Think I'll wait for night and try to make a break for it.
Using the right tool for the right task is a big part of being a good engineer.
I'd argue that if you only know how to start your own project using the play button, then you aren't a software engineer.
I've written a pretty big application for my employer in visual studio. Never once have I run a "dotnet build" command. Only ever used the little play button. Guess I'm no software engineer
The real software engineers are those who can 2 minute Google "how to build with cli" their Hello world console app.
Someone told me that windows server UI interface has more options than CLI. I got scared of windows server (how do you repeatedly Setup the same server, with a screenshot documentation ???)
It's been a while since I've found that true. You can do everything you want to do in powershell now days.
Hard disagree. I use arch btw
👍👍👍 arch btw 🤤🤤🤤 I use arch btw 🥺🥺🥺 you 🫵🫵🫵🫵🫵🫵🫵 should use arch too btw 👄❤️ I used to be a filthy 🤮 windows 🤮 user 🤮 but now I use arch!!! 🤤🤤 don’t be afraid of the install process, you’re just a dumbass normie 🤓🤓🤓🤓
I think I really only use GUIs if I am learning something new and trying to understand the process/concepts or if I'm doing something I know is too small to automate. Generally once I understand a problem/tool at a deeper level, GUIs start to feel restrictive.
Notable exceptions are mostly focused around observability (Grafana, new relic, DataDog, etc) or just in github. I've used gh-dash before but the web ui is just more practical for day to day use.
For context, I'm in SRE. I feel like +90% of my day is spent in kubernetes, terraform, or ci/cd pipelines. My coworkers tend to use Lens but I'm almost exclusively in kubectl or the occasional k9s.
i feel you bro. people in here talking shit like they don’t know that some net devices are literally made for webgui first and foremost, and programmatic changes don’t work for every api even if it says it’s supported (fucking looking at brocade).
if you’re used to cisco cli, shit like juniper or palo alto or f5 can be intimidating when looking at the configs.
but i swear to fucking god if you use gui instead of cli for cisco, we gon have words.
Well, there technically are communities for enterprise engineering.... they just, aren't very active.
Exactly. Posting to a community of a dozen people who don't engage on content seems like a pointless endeavor.
It's a different interface for the same thing. Each one has its advantages and disadvantages depending on the job. You should definitely try the CLI if you're into programming or administration
See: Cisco. At least when I last used it, the web server configuration utility added a lot of garbage to your running config that made it unreadable if you swapped back to the cli.
Systems that built the GUI first aren't too bad. Palo Alto UI is pretty decent.
What if you use both based on the situation. I ssh into my server from the terminal and also use termius when I want use FSTP because it's quicker than dropping into a shell
Using the best tool for a job makes way more sense than sticking to one because of a principle
GUI requires much more software engineering and development hours than a CLI to create. So yes it makes your a worse engineer; don't wait for someone to expose a feature to you via API and web interface if you can get there via CLI today. Cripes.
Use a computer in whatever way you want and/or need to best get the job done. It's a tool for accomplishing tasks. The amount of random gatekeeping for no goddamn reason in tech/programming/FLOSS is ridiculous.
I often prefer GUI/TUI, but I always like a good CLI. It makes automating things so much easier
Using the CLI lets you automate things a lot easier, which makes you a better engineer.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics