3 ms·
It doesn't matter what Powershell does and doesn't do. People aren't going to learn yet another shell scripting language just because someone at Microsoft wante
by melted 11y ago
It doesn't matter what Powershell does and doesn't do. People aren't going to learn yet another shell scripting language just because someone at Microsoft wanted to get promoted and rolled a new one. I want Windows shell to look like UNIX, to be scriptable exactly the same, and to have a proper SSH remote login. Apple managed to do this with OS X. Microsoft is denying the reality and substituting it with their own.
- rosege 11y agoSnover actually had to take a demotion and pay cut to get permission to create PowerShell but he believed it was the right thing to do for the company.
- melted 11y agoI bet plenty of PMs got a promo, though.
- chris_wot 11y agoIt doesn't matter what Powershell does and doesn't do. People aren't going to learn yet another shell scripting language just because someone at Microsoft wanted to get promoted and rolled a new one. I'm a bit of a bash scripting nut, but I've recently had to do some Windows administration via Powershell and actually it's pretty awesome! I want Windows shell to look like UNIX, to be scriptable exactly the same, and to have a proper SSH remote login. So install Cygwin. Apple managed to do this with OS X. OS X uses a Unix shell. Most of it is based on Unix principles. It wasn't that hard! Microsoft is denying the reality and substituting it with their own. Really? It still uses pipes and redirection, has command history and tab completion. You can alias commands, but Powershell has functions which allow for parameters. The thing is - Powershell is, somewhat surprisingly, more powerful in many ways than bash, especially around variable handling. I'd be pretty happy if it was ported to Linux, which I'm actually rather surprised about!
- melted 11y agoCygwin is not a valid replacement for a shell, sorry. It's a crutch. If you want a proper scripting language, literally dozens are available on *NIX-like OSs, and some are preinstalled with most distributions. Tens of thousands of libraries to solve every conceivable task with minimal, if any, work. Package systems to make installation/removal easy. Microsoft has excluded itself from this by once again by rolling its own.
- ralish 11y agoWhat are you talking about? Cygwin provides packages for bash, dash, fish, tcsh, zsh, and others. It's not a crutch, these are the exact same shells you run on Unix(-like) systems. The source is the same, albeit with some Cygwin specific patches, but that's no different than any other Unix-like distribution that applies patches to upstream packages (e.g. Debian, FreeBSD, Gentoo, etc...). Your NiH assertion doesn't even remotely make sense. PowerShell is fundamentally different from traditional Unix shells and has many interesting, unique & innovative features. Not liking them or agreeing with the philosophy is entirely valid, but suggesting they've just refused to use an existing shell because of NiH isn't born out by the facts. Honestly, I'd suggest trying to adapt an existing Unix style shell to Windows as the "official" shell would be an inherently bad idea at worst and extremely difficult at best. Apart from the numerous issues that traditional shells have which PowerShell seeks to address (reliance on string parsing, lack of consistency in commands/parameterss, etc...), traditional Unix shells are very much built around a Unix operating system philosophy, especially wrt. exposing operating system internals, devices, etc... via the file system. That's a great thing, but it's not so much applicable to Windows. You'd either need to radically re-design large chunks of the system to conform to the Unix philosophy of exposing much of the system via the file system, which let's face it, is unlikely to happen, much less any time soon, or augment the shell with a lot of extra support for Windows specific functionality (e.g. the Registry, WMI, etc...). Things as simple as ACLs on Unix won't even map nicely. Better to have a shell that works well for Windows and fits its administrative model than trying to shoe-horn in a shell designed with a completely different administrative philosophy in mind. You mention OS X, and yes, they did get it to work. As other commenters have mentioned though, OS X is UNIX. As in, UNIX(R). The userland API exposed by the kernel is based off BSD, as are large chunks of the operating system (although, Apple seems to be replacing them one by one). It's pretty easy to use a nix shell when your operating system is largely based on Unix (at least, from the perspective of userland applications).