If you’re using a GUI, that means whatever you’re doing you’re not doing a lot of it, since you don’t need to automate it. I would expect a world-class enterprise engineer to be able to automate most tasks, and from that they would be very comfortable with the command line.
Can you do everything with a GUI that you can on a command line? Yeah probably, if the developer is at all the features properly. Can you automate it easily? No not at all. So the more you do something the more you tend to want to deal with the vocabulary of the command line because it’s more expressive and allows for automation.
I will die on this hill!
Documentation too. Frontends change all the time, but CLI tools usually don’t, so you can usually rely on old documentation. But have you ever tried googling how to do something in MS office, found and article from half a year ago and found that none of the things it mentions exist anymore? It’s ridiculous how much time people waste trying to figure out stuff multiple times because it changes so much.
After long periods of not using GUIs, I found myself very confused every time I want to do something. I was trying to insert a code block into Power Point yesterday, took me half an hour of googling and didn’t manage to do it. With Latex, I googled and in 2 minutes I had a code block.
Given that Latex is a clusterfuck of legacy, it speaks volumes that it’s still so much easier to do things there rather than in powerpoint.
With MS office I’ve also adopted a “fuck it, I’ll just take a screenshot” approach.
A collection of screenshots send around by mail after having poorly drawn arrows and frames in it, is official documentation. Source: my corporation
Yup, I tried doing it properly too when I started and now I don’t give a shit. If the company wants us to use crappy tools, that’s what they get.
What are you saying? The project is finished, the new stuff implemented and now you want to buy some fancy software and shedule 100 hours for documentation? We dont need that! Just help out your colleagues, when they have a question. They’ll all know what to do in no time!
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.
Yeah, fuck that. It’s perfectly fine to build a GUI that makes things a bit easier, but make the GUI so that it resembles the fucking workflow. I hate that when I want to automate something thats super easy in the GUI and it takes AGES because there is no equivalent to what I’m doing in the GUI
All the good GUIs have a license fee.
What is this thing you call “good gui”?
It’s what you put on bad software to make it palatable.
Like a sugar coating. It’s why no one codes in Java anymore without 80 terabytes of ram for their IDE.
I wonder what’s this “good software” (you meant language?) that doesn’t require an IDE to code efficiently.
Good luck ever doing anything embedded if you always need a clunky IDE. Best thing I ever did was get comfortable in a solely vim/cmake/gcc environment. Even if the majority of work doesn’t require it, it’ll teach you a lot.
I mean, we’re rewriting everything in Rust, so there’s no need to learn cmake anymore /s
To conter your comment a little bit, I think anyone doing coding for a living should absolutely use an editor that supports LSPs. They’re an insanely helpful tool with zero downsides.
I disagree somewhat with their take, but there’s definitely languages that cmoe with features built-in that reduce the need for a fancy IDE. For example, instead of null checks via annotations that the IDE has to parse and warn about, just have nullable types. Or instead of IDE features to generate a bunch of boilerplate, just don’t require that boilerplate.
That being said, on the other side of the spectrum, anyone writing code without using an LSP is just throwing away productivity by the handfull.