Often people ask me, why I prefer Command Line over a GUI. Mostly I would say because I prefer it and keep it at that. Not enough I explain why I prefer it exactly though, so here it goes.
A command line is the perfect of “Keep It Simple Stupid”, it’s clean, slick and does exactly what it’s supposed to do. Using it is as easy as reading and typing and when you get lost you have a complete manual of the program within hand reach. There is no need to learn where everything within the GUI is and there is no need for a mouse, yes indeed, no mouse.
But it goes further than that. Often programs with a GUI are build as a wrapper around on a command line program as it’s core. Adding more functionality, making it “easier” to use for the casual to-lazy-to-read-a-manual user and in general, creating a lot of extra room for bugs. And even though GUI’s are made to simplify your life, often they will make it miserable instead.
P4V and Git GUI programs are the perfect example of all of this. Both have really complex functionality where things can get messy very quickly. A lot of these complexities are not even available in the GUI, and if they are, than they are usually much harder to use, and frankly, it will take you way more time. But hey don’t think your safe by avoiding the dark corners of these tools as sooner or later your bump into a weird issue in the GUI wrapper which will mess up your workspace at the most unexpected time.
In all honestly, some programs wouldn’t be possible without a GUI. UI is an art and some software know how to do it right. But seriously, way to much has a GUI where a command line would be sufficient and way more user friendly IMHO.