Linked by Thom Holwerda on Fri 18th Nov 2016 15:56 UTC
Windows

Command Prompt has been around for as long as we can remember, but starting with Windows 10 build 14971, Microsoft is trying to make PowerShell the main command shell in the operating system.

As a result, PowerShell officially replaces the Command Prompt in the Win + X menu, so when you right-click the Start menu, you’ll only be allowed to launch the more powerful app. Additionally, in File Explorer’s File menu and in the context menu that appears when pressing Shift + right-click in any folder, the old Command Prompt will no longer be available.

Typing cmd in the run dialog will launch PowerShell as well, so Microsoft has made a significant step towards phasing out the traditional Command Prompt.

It's funny - cmd has always been seen as a sort-of Baby's First Command Line, and compared to the shell that comes standard with any UNIX-based operating system, that was certainly true. However, now that Windows has a replacement that is much more capable than cmd, people will cry foul and hell over the possible deprecation of cmd.

Us nerds are fickle.

Thread beginning with comment 637307
To view parent comment, click here.
To read all comments associated with this story, please click here.
TemporalBeing
Member since:
2007-08-22

"PowerShell is nice for certain things, but it is *not* a user-friendly shell. If you're scripting, it's fine to write a script against; but it's still no Bash shell and never will be.


I've tried picking up bash recently, and although I have no idea how it fairs against Powershell, I honestly don't find it to be that user friendly at all. Esp. with some commands ending in '2>&1'. Yeah, I know what that does, but it sure as hell ain't obvious when you look at it.
"

However, Bash behaves the same regardless of whether you are typing it in at the command-line or writing it in a script to execute. PowerShell does not since data is objects and the objects behave differently depending on what they are interacting with.

If I'm not mistaken, the '2>&` is not specific to Bash - DOS's command.com, WinNT's cmd.exe, and others also implement that same notation to do the same thing. I do agree that that is not user-friendly, but the general interface itself is.

And some of its commands needing a '-h' as a human readable option; what kind of masochist would design something with the human readable option turned off by default? I probably shouldn't ask that, because I know somebody is going to reply with something like, Well, you see, in 1971, when computers ran on hamster power and had 2 bytes of RAM ...'


Well, that's more a tools not a shell issue.

Bash provides some built-ins, but primarily makes use of a lot of scripts and programs to do the real work. What Bash does by itself though is pretty friendly to the user.

With respect to PowerShell, there's lots of shortcut names for scripts; and they've added a lot of defaults that conflict with the Unit tools. So you can't integrate tools like the GNUWin32 ports of the Linux tools - and now the Bash on Windows won't integrate nicely with it either because it's extremely different.

PowerShell just works extremely differently from other shells. It does what it was designed for well, but it wasn't designed for end-user usage.

Reply Parent Score: 4

Drumhellar Member since:
2005-07-12

However, Bash behaves the same regardless of whether you are typing it in at the command-line or writing it in a script to execute. PowerShell does not since data is objects and the objects behave differently depending on what they are interacting with.


Really? Every reference of this I've tried to find are examples of people misunderstanding variable scope w/r to the ISE, or variable precedence. I would honestly like to know more.

Reply Parent Score: 2

WorknMan Member since:
2005-11-13

If I'm not mistaken, the '2>&` is not specific to Bash - DOS's command.com, WinNT's cmd.exe, and others also implement that same notation to do the same thing.


That doesn't make bash user-friendly by default though. It just makes it as user-unfriendly as the others. Surely, we can do better in 2016?

Reply Parent Score: 2

l3v1 Member since:
2005-07-06

I don't want bash to be user friendly, I want it to be functional and easy to use - not for the masses, most of them never even hear about it, but for us, for the freaking people who actually use it. And no, don't need it to become something "user friendly" so Mr. Average Dick can think he becmae a shell guru overnight and we end up with a former useful tool turned into a pink unicorn sh*tting daisies in a very user friendly manner and being totally useless.

Reply Parent Score: 4

TemporalBeing Member since:
2007-08-22

"If I'm not mistaken, the '2>&` is not specific to Bash - DOS's command.com, WinNT's cmd.exe, and others also implement that same notation to do the same thing.


That doesn't make bash user-friendly by default though. It just makes it as user-unfriendly as the others. Surely, we can do better in 2016?
"

Honestly, unless you're a programmer or admin, you don't know what "standard in" and "standard out" are and wouldn't need to know how to do that stuff.

Now, keep in mind too that these are also very old interfaces - 1 and 2 refer to the file descriptors, again details only a programmer would really know.

That said, I do agree that it'd be nice if there was an easier way to do the redirects, but there's only a limited amount of syntax you can do to accomplish what they do, and they're pretty good for what they do.

Reply Parent Score: 2