I'll take this moment to point out that the PowerShell feels like a modern shell and is open source https://github.com/PowerShell/PowerShell (MIT license). If you want something more modern give it a try. Native support for JSON and XML and parallel streams.
That said, I'm glad to see another major release of Fish because it's for having option that we get evolution. Also very exciting to see it was rewritten in Rust! That might make it a good choice for containers that need a shell but want to harden further.
People often like to point out that PowerShell is multi platform and runs on Linux. When I looked more into this a few years ago that was a very deceptive statement because while it runs on other platforms only the basic commands to make it work ran and about 80% of the functions were Windows only. Has any of this changed recently?
I always avoided powershell, because it used to have a loading time that is longer than a second even on a modern system. But after your post I thought I give it a try.
The first thing you encounter is a .tar.gz file that does not extract into its own subdirectory. Instead it pollutes the current directory with 273 different files, which is just plain incompetent.
Then, the pwsh executable is not marked as executable, so you have to manually chmod +x on it which is just stupid.
Finally, pwsh has a loading time of 273ms for its 70 MB "bundle", which is okay I guess, but imagine running your scripts with that overhead. fish has 32ms on my system, and plain old bash 4ms.
Yes, start up time can be up to second or more. I usually start a terminal on boot an keep it around.
I can’t save I’ve manually installed PowerShell ever so I cannot comment about that.
The time savings is when I need to write a script. ?{} is so much more powerful than grep since it takes code as the predicate instead of just a regular expression.
The never having to use “cut” to extract information is priceless. Just being able to use fields.
Fish is such a great shell. More often than not it reads my mind about what to do (e.g. with its fantastic history autocomplete), but I’m really excited for this minor breaking change note:
> alt-left and alt-right will now move by one argument (which may contain quoted spaces), not just one word like ctrl-left and ctrl-right do.
The initial reception is good though. Works the same as before which is great for a full rewrite.