Dear Oracle

Dear Oracle: If you ever install a directory whose name contains an ‘&’ in my system’s PATH environment variable again, I will travel directly to the Bay Area and it won’t be for fun. What were you thinking, that people wouldn’t notice? That it looked pretty? That writing out A-N-D was too hard? Are your directory names chosen by Marketing? (“Can you make that directory a little more puce? No, way too puce now. More, you know, edgy and confident puce, not blatant developer puce.”)

Of course, it would be nice if the Windows command interpreter wasn’t such an awful embarrassment and could do things like string quote escaping without losing its mind. I heard some of the political backstory to why cmd has been left to languish for the past two decades and was not surprised (summary: old and crusty NT dev, with matching territorialism and ego). Oh, and the answer to “cmd is crappy” is not PowerShell, thanks. Who said that? We can go outside and settle it, if you want.

Not really sure what the answer is. For instance, every time I write a bit of bash I want to throw up a little. The only shell programming language I didn’t actively hate was the MPW Shell, and that is decades dead now; MPW sure had some flaws, but parts of it were really nice.

But those ‘&’s don’t work anywhere, not matter how fucking puce they are.

This entry was posted in Uncategorized. Bookmark the permalink.

13 Responses to Dear Oracle

  1. JohnH says:

    Ouch. Which oracle product does that?

  2. asdf says:

    4DOS/4NT/Take Command was nice.

  3. kwk says:

    Given the options of trying to do something in cmd, trying to do something in powershell, and writing a C# console app, I almost always pick the last one.

    • o. nate says:

      +1 for the c# console app suggestion. That’s my usual fallback, although a Python script can often do the job nicely as well and is more fun to write.

  4. Paul says:

    > Oh, and the answer to “cmd is crappy” is not PowerShell, thanks.

    Just because you don’t accept the correct answer doesn’t negate any of the truthfulness of the fact that PowerShell *is* the answer.

  5. TRX says:

    There used to be a version of csh that ran on Windows NT. Hamilton C Shell? [clicky] Looks like they’re still around. Wow, talk about a blast from the past…

    I ran ksh on SCO, back in the day. It was better than the default ‘sh’, anyway.

    20 years ago I ran an aftermarket command interpreter called 4DOS with DR-DOS 5 and DESQview. I’m still running 4DOS in a DOSEMU window under KDE; not only do I maintain a client’s ancient business software that still runs under DOS, but 4DOS simply rocks as far as being a command interpreter and simple scripting tool within the limits imposed by DOS. It’s not a full-featured programming language like bash, which really isn’t (just) a command interpreter any more…

  6. Anon says:

    Has anyone noticed how starting powershell for the first time always takes at least 4 seconds no matter how fast the computer it is running on is? You pop open the window and then have to wait for that prompt to appear. Still, I do find it better than cmd.exe…

  7. Miguel Farah says:

    the answer to “cmd is crappy” is not PowerShell, thanks.

    Of course it isn’t. The actual answer is Take Command/TCC (directly descended from 4DOS, actually).

  8. Tomsci says:

    I use Fish as my day-to-day interactive shell. Unfortunately it too has its oddities (redirecting stderr I just couldn’t get to work) and it’s a bit too niche for any serious scripting. It’s very nice as an interactive shell though. Haven’t tried it on Windows though, it appears to require cygwin and I swore never to install that again.

    Windows 10 is going to finally apologise about cmd, right? Only a decade or so after the point where such an apology would have been accepted gracefully rather than thrown back in their faces. (“You dropped the ball there for a while, but thanks for sorting it out” versus “you can take your new improved cmd and shove it where the Metro don’t shine”)

Leave a Reply

Your email address will not be published. Required fields are marked *