I used to use fish but I don't like their weird scripting language. I want my shell to be POSIX compliant.
Basically every non-Windows system comes with a POSIX-compliant shell at /bin/sh. If you're using shebangs in your POSIX shell scripts like you should, using Fish as your Friendly Interactive Shell shouldn't be a problem.
Not being POSIX is one of its main selling points. If you want POSIX, you're not the target audience
Why do people seem to especially like fish?
it's zsh without having to add in all the plugins. on my NixOS systems zsh+plugins caused it to run slow. Fish just doesn't have that issue as everything is baked into it. setting up functions is also a breeze and the built in themes are great. just one install and no need to configure much if anything.
It's just a very nice shell that's conceptually very close to common shells like bash and others while it has a nicer syntax than those. All in all very reasonable and rather evolutionary than revolutionary. So the learning curve is rather flat compared to shells like nu or elvish
For me is it's awesome, out of the box, syntax highlighting, auto-suggestions/auto-complete and the up arrow history function (that includes substrings).
I suppose it's pretty easy to see why when you consider what the most^[I could be wrong, but searching for "zsh" on GitHub and sorting it by most stars should be a pretty good metric.] popular plugins are for the popular shell zsh:
Both of which literally start by referencing fish in their respective READMEs.
And where zsh requires plugins to get these, fish has these by default. Perhaps unsurprising as fish stands for Friendly Interactive SHell. As such, the niceties don't stop there.
Basically, if you want a no-nonsense shell that gets pretty much out of your way and comes with excellent defaults right of the gate, then you simply can't go wrong with fish.
Take this from someone that stubbornly tried to bend bash to my will with stuff like ble.sh (link) and later zsh with zsh-quickstart-kit, but to no avail... It always caused more trouble than it was worth. And when I finally gave in and tried fish, it was pure bliss from the get-go. The rest has been history... Fish has literally become the first thing I install on all my systems.
Note, however, that (as per fish' documentation) you shouldn't change your login shell to fish. This blogpost by a CoreOS engineer goes over it in more length.
Completions, plugins, and themes built in. It's fine. I still use bash for scripting but fish for interactive terminals is nice with little effort.
Linux
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP