It's much, much better than cmd.exe. Not even in the same league.
Plus, you can pipe objects around, which is better than piping strings, because strings are objects too. So it's a "superset of string-piping", though obviously, not a superset of bash. The syntax is weird and lots of non-intuitive stuff about PowerShell, but it's definitely at least 1,000x better than the default windows console.
The syntax is weird and lots of non-intuitive stuff about PowerShell
That's simply enough to kill it for me.
That and patchy culture support crudely derived from the CLR where the script will parse/emit dates as 11/12/13 on one host and 12/11/13 on another host based on some random combination of system locale (sometimes even when they're the same!!!) and solar cycles. They managed to make it non portable on the same platform!
Piping objects is a pain as well. You suddenly have a type contract on a pipe which makes things incredibly brittle if you have to refactor anything. Dealing with strings be they delimited or not is considerably easier.
PowerShell is awesome. A shell with proper intellisense, a real object pipeline, string interpolation and cool meta-programming facilities - to mention just a few areas where it runs rings around bash.
8 comments
[ 0.17 ms ] story [ 30.0 ms ] threadOn that basis I agree, because the encounters I've had with PS have been nothing but horrid.
It's slow, obtuse, complicated and unpredictable. cmd+rundll32 was far nicer and that's saying something
Plus, you can pipe objects around, which is better than piping strings, because strings are objects too. So it's a "superset of string-piping", though obviously, not a superset of bash. The syntax is weird and lots of non-intuitive stuff about PowerShell, but it's definitely at least 1,000x better than the default windows console.
That's simply enough to kill it for me.
That and patchy culture support crudely derived from the CLR where the script will parse/emit dates as 11/12/13 on one host and 12/11/13 on another host based on some random combination of system locale (sometimes even when they're the same!!!) and solar cycles. They managed to make it non portable on the same platform!
Piping objects is a pain as well. You suddenly have a type contract on a pipe which makes things incredibly brittle if you have to refactor anything. Dealing with strings be they delimited or not is considerably easier.
There is an effort to get it running with Mono - https://github.com/Pash-Project/Pash