CLI really?

OK. I’ve become the grumpy old man telling you kids to turn down that noise! My friends would tell you I really like all kinds of that loud noise so it seems slightly strange. I keep reading comments and tweets, seeing presentations, and online tutorials how the command line is the best thing since sliced bread (sliced bread apparently was a big deal in the early 1900s). I repeatedly see and hear how I‘m not a “real” man, “real” programmer, “real” nerd, and even how potential employers may frown upon the using of a GUI-based tool, viewing it as some sort of crutch or cheat. When I heard it once it didn’t register, twice I chuckled, three, four, five … oh my! I think they’re serious not just being ironic.

If they (you know who “they” are) gave out medals for the CLI Olympics those of us who started our careers in the 70s have earned multiple gold medals, or perhaps platinum or unobtainium. We certainly didn’t do it as a show of compchismo we did it because it was all we had … blowing snow, bare feet, uphill both ways … you know the story! I shouldn’t be surprised though because even bell-bottoms and silk shirts came back in fashion and if that’s possible why not command-based computing? If it rolls back far enough I’m looking forward to toggling in patches through the control panel of a DG Eclipse, that was when a control panel was a CONTROL panel — all 16 bits of it!

Data General Eclipse circa 1978. Can you believe we ran a large corporate credit union on a computer just like this? I was the night computer operator at the ripe old age of fifteen, what could go wrong?

Alright! I understand the utility of the command line, I really do. If I knew, having worked for workstation manufacturers, how many times I’ve typed ls, cd, awk, ps, grep et al. I might need a padded room. I’m really talking about the “right of passage” use of command line interfaces in deference to their graphical counterparts. There may be couple of forces at play.

If the command line offers more power or is easier to use then by all means have at it. Let’s be honest, if this is true it’s a failure of the graphical application implementation. Seemingly we have a potential chicken and egg (I win $5 for using egg in a technical blog) situation. Because of the popularity of CLI usage, applications are “dumbed down” for the “not a real” class user or may not have the necessary resources dedicated to them. Perhaps shortcomings in the applications are the driver for “real” class user adoption of the CLI.

I have to take a moment to reflect back on the growth of GUI environments, Lisa OS/Mac OS (I fondly remember the Byte magazine with the Lisa on the cover), X Windows and Microsoft Windows, and how elated we were to potentially leave the command line behind. As a side note I got pretty excited when we upgraded our VAX 11/785 environment to amber VT220 terminals from the old VT100s … to be fair the programming environment and keyboard were vastly improved. Being able to navigate a directory tree with a mouse and drag and drop a file from one directory to another … it was magical, strike that, it was flippin’ heaven. Guess what? I didn’t feel any less a “real” programmer even though I knew how to use cd/mv or DIRECTORY/COPY (VMS style).

Please stop denigrating those who choose not to use the CLI when they are given a viable graphical alternative. Graphical application developers step up the game if you’re being out functioned by CLI. Employers you are making a mistake if you mark down a candidate because they use GitHub through their IDE or some other such nonsense. Truth be told to the “real” class user, learning the commands for Git (as with most other CLIs) is “really” not that impressive, generally it’s a memory and typing challenge. Using vi in place of a graphical IDE, while it warms my heart for the same reason as csh, is a very personal choice.

Chill! To each their own. It’s “real” cool, at least to me, that you can create formal language and use yacc to generate a parser! It is! It doesn’t make you any better or worse than the next gal. Frankly, if command line is so cool why use an emoji when you could go old school }:-> However, for those of you who still think the B and A in bash stand for bad a$$ remember there are those of us who were writing sh before it was Bourne Again and before some of you were born.

You kids there … Get off my lawn!