reuben taylor
3 min readMay 14, 2021

--

Death to the Windows CMD

An unhelpful little relic

A lot of business run on the Windows OS. Old Windows. Windows 7. Some businesses also lockdown technology & developer tools and build products based heavily on a windows environment. Then comes the inevitable implementation of windows heavy tooling & my mortal enemy; CMD.

CMD is a hangover from the pre GUI days of Microsoft & still, for some reason, the de-facto standard windows shell (yes Powershell, cygwin and bash are now either pre-loaded or easier than ever to install — thats beside the point… and powershell ain’t that great…).

“No need to use a CLI”, thought the development team at Microsoft. “We’ll be building beautiful software with GUIs to do everything, bringing personal computing to the masses”. Indeed, they were right and windows 3 took the market by storm in 1990. No one needed to memorise the arcane commands of a CLI anymore — you could just point and click and that was that; all manner of tasks seemingly simplified by the click of a button.

Except if you’re a developer.

When you’re developing software, you often need to orchestrate a couple of locally running tasks e.g. fire up your web server and a service or two that it talks to. In bash and CMD this is pretty trivial to do; run your startup commands or write a .sh (or a *shudders* .bat) script and execute it. Easy peasy. But that, I fear is where the similarity of experience ends.

If you’re running in any semi-popular *nix environment, you get access to all the standard tools like ps, top, grep, killall etc.. Tools that make it easier to monitor & manage running your jobs. You can start a python shell, background it, move some files around, write a config file, resume your interactive shell, run some more stuff & quit; all without leaving the comfort of one terminal window.

Using CMD you get none of this. Well okay, you get some of this, but there is a palpable lack of ease; as if the shell is saying: “you are here to launch a GUI or write to a registry and then get out”. It should be no surprise then that this soviet-esque brutalism affords you little luxury for process management or multitasking.

Bernard Black, from Channel 4’s Comedy, Black Books, is the owner of a fictional bookshop that shares the shows namesake. He’s rude, petulant, illogical and when his patrons attempt to purchase his wares; he usually responds in an abjectly illogical and incredulous manner. Not because the customers are unreasonable, but because he is. The comparisons between the fictional Book peddler & the CMD prompt are stark.

Adding to the inhospitable environment that Window’s CMD prompt offers are a few anti-niceties whose only purpose seems to be to enrage and hinder the user — or at the very least — me.

  • A default window size of 80x60 that for some reason you have to set by right clicking (?!)
  • A prompt that asks you if you’d like to “terminate” after you’ve already explicitly tried to terminate the task
  • no global history; if you close your shell and reopen it, you can no longer just tap the up arrow to get your last run commands
  • a convoluted copy-paste system involving something or someone called “mark”

I’m sure that there are people itching to jump in and defend the windows development experience who have missed the point of my hate ode to the CMD prompt. This is not a “*nix is better than windows” article. It’s simply an act of constructive self indulgence; a creative way to air my frustrations without boring the people around me. Yes I am stuck using the CMD prompt and no, I can’t simply work around it — so afford me this luxury of creative lamentation at least, because CMD most certainly wont.

--

--

reuben taylor
0 Followers

I like software and games and music