CLI vs. GUI

CLI vs. GUI

I was having a conversation at work and as usual the topic tends to wrap its way back to work related things. Specifically Git command line versus any Git GUI apps out there. There was an intern that was unsure about how to get his repo back into the state he would like so of course in a room full of engineers (and the fact you can do many things many different ways in Git) everyone had an answer. After a couple minutes of everyone telling them what to do I asked the question, “Your using the command line aren’t you”. That sparked a bit of contest from everyone else in the room as I expected. After calming the group down I said the same thing we just spent a few minutes talking about would have taken only a few button clicks in a GUI. At that point we quickly moved to a new subject as the intern’s went back to work.

I thought about this whole exchange a bit more on the train ride home. I understand that everyone has their preference when it comes to tools. Usually more seasoned engineers prefer the CLI while younger engineers seem to prefer newer tools which usually end up being GUI based. At the time that you learn a new tool or program using the CLI really does make sense. You can take the time to really understand what it’s capable of doing. But as you start to know the nuances of the tool why not use it in a matter that will help you get things done faster? Most of the time this ends up being a GUI or sometimes its a set of scripts that sits on top of the tool. Either way, you know how the thing works so why not get the most out of it.

Image Credit: SourceTree, Chris Sainty