CLIs are simply wizard at character building. Let’s not keep them to ourselves
The magic that defied the iron will of Steve Jobs has a lot more to offer
Opinion The passage of time can harsh one's mellow in bittersweet ways. Tech anniversaries, while they do make you feel "That can't be true, it was just the other year," also offer the chance of a bit of fun in the form of emulated nostalgia.
Far more dangerously, some of us even find ourselves on eBay, handing over hard earned cash for a chancer's dodgy Amiga.
Doom turns 30, so its creators celebrate seminal first-person shooter's contribution to IT careersREAD MORE
Sometimes, though, there's a lot to think about. January 24, 2024 is the 40th anniversary of the Apple Macintosh in all its single-floppy, monochrome, 16-bit glory. None of those things have made it through four decades of dizzying development, but the Mac's crown, its GUI desktop, swiftly became and still remains the basic building block of the modern computer UI. Windows, icons, mouse and pointer are as important to the modern lexicon of productive interactivity as the keyboard.
If anything, the Mac sank too deeply into its GUI. At the insistence of Steve Jobs, the original Mac keyboard had no cursor keys and the OS no command line interface. The sheer perversity of editing text by mouse alone overcame even Jobs' reality distortion field, with arrow keys creeping coyly back with an extension numeric keypad in late 1984, and full reinstatement on the Mac Plus keyboard two years later.
The CLI had to wait almost to the end of the century to vanquish Steve, when the Unix-based OS X finally capitulated to the inevitable. Unencumbered by dogma, Microsoft had never abandoned its CLI from DOS days, while Linux without the terminal window is as unthinkable as a Sumo wrestler without their mawashi.
Despite Steve Jobs, despite all the innovations of modern desktops, the CLI has not only survived but prospered. It's even regaining further ground, with ChromeOS sprouting a full fat Linux text environment and Microsoft engineers openly mulling the reintroduction of a CLI text editor.
The popular explanation is that, for developers, system admins and power users, the CLI is the primary tool for quick and pinpoint accurate access to system resources, logs, and essential utilities, it's also uniquely good at remote access across systems and creating lightweight automation of complex tasks. GUIs are great until you want to do something more than once, right?
All true, but it carries with it implications that are largely unexplored and potentially very important. You get a glimpse of this whenever you fix a problem for a GUI-only user through invoking the CLI. You couldn't look more of a wizard if you wore a pointy hat and had a dragon parked outside. Knocking up a quick script to untwist a directory structure or piping some event monitor into grep is the real eye of newt stuff for those who've never so much as typed
ls. Which is completely understandable, very good for the geek ego, and completely wrong.
GUIs were and are intended to demystify the computer as a practical tool, especially as hardware got more capable and more human life was sucked in. At this, they have been wildly successful. At the same time, they have obfuscated the core ideas of how a computer actually works. For many users, of course, this is just fine – with no interest in or ambition to learn about things under the hood, they don't care if they can't tell Gary from IT from Gandalf from Middle Earth.
Those who have the right genes and drive to rip things apart to find out how they work, conversely, will have the nous to find and grind the CLI until they get their Grade 8 wand-waving certificate. There aren't enough of the latter to keep the industry going, while too many of the former who might have a spark to fan into flame are put off by the weirdness.
This is where we're underselling CLIs, especially CLI text editors. There's a very lively discussion about whether to add a text editor to the Windows CLI, and if so which one it should be and what it should do, but much of it is in the spirit of "my favourite editor is better than yours." This is a long and honorable tradition, ever since large parts of the UC Berkeley campus were set ablaze during the vi versus emacs wars, but it misses the point. Just because the CLI has prospered as a recognizable entity through to 2023 doesn't mean it shouldn't recognize the new needs of the present, and adapt its strengths to help more people than the traditional inner circle.
- Microsoft floats bringing a text editor back to the CLI
- Automating cloud infrastructure: Do you want APIs with that?
- Microsoft yanks internal Windows 11 testing tool soon after release
- The npm registry's safe word is Socket
When you're in a full-screen CLI, especially editing, what you get above all is focus. Compared to a GUI desktop or, heaven help our grasshopper minds, an in-browser task, it is supremely quiet and uncluttered. It is you and your keyboard, and text that wants to be free of variant forms and options. If you're coding or writing text where actual content is more important than form, it is a zone for reason and thought like none other in modern computing.
Of course, just because you've got the entire screen for one task, the notifications and temptations of the internet's psychedelic rainforests are just a task-switch away – and this is where tomorrow's CLI text editor should play to its strengths. Riding atop the CLI itself, the editor can add as powerful a mute switch as it likes. It can reach out to scripts that mute the audio, disable task-switching, and quieten the network. It can offer any user a uniquely productive, even therapeutic, experience – and be the gateway to the natural question "how can I get more of this?"
In the same way that once prodded people into exploring the environment of pre-GUI computers to get past the early bootstrap of learning enough to learn more, a CLI-based editor can offer both a unique and valuable way to do non-technical work, plus pathways into its hows and whys. How to present this in a productive, simple and compelling way is its own design challenge, but one that is sorely needed in any case, judging by the clunky nature of so many existing text editors.
There are other kinds of magic that even CLI wizards need to know: building a bridge to the rest of the world will be our own gateway there. ®