Hacker News new | ask | show | jobs
by robin_reala 696 days ago
Faster, simpler and nicer to use, in my limited experience of ZSH. A focus on great defaults rather than expandability. But then I’m somewhat biased, having settled on Fish over a decade ago. ZSH might be better now.
3 comments

Can you elaborate on "simpler and nicer to use"? The last time I've seen a description the differences, they were just minor simplifications of bashisms, like iterating an array, which don't simplify the experience significantly.
I switched to Fish about a decade ago too. "simpler and nicer to use" is a good summary, but to flesh it out a bit from my perspective: given how much time I spend in the terminal, the every day ergonomics are quite important to me. I used to use ZSH with oh-my-zsh and a bunch of plugins, over the years this got slower and slower, and the maintenance burden got annoying. It got to a point where opening a new terminal window would take maybe 5 seconds before it was ready to use. I tried Fish one day, and literally everything I'd customised ZSH to do came for free out of the box, no plugins, no maintenance. Startup time was instant. I now use Fish with a Starship prompt and I'm never going back.
The speed impact is one reason I've never liked oh-my-zsh and similar for other shells.

It's also why I love starship https://starship.rs/. Lots of plug-ins to customise what I want at the prompt, and all of it native compiled such that it executes in milliseconds.

One of the important differences with bash, which is not dramatic but kind of low level is lack of `>()` process substitution.

https://github.com/fish-shell/fish-shell/issues/1786

It is worth mentioning that exists `<()` and is implemented via a helper command `psub`: https://fishshell.com/docs/current/cmds/psub.html

Yeah, that great we have a lot of different opinion on thing and tools. For personal use i would try it. But for server side we as usual stick to default shipment, vim, zsh etc
What installs zsh by default? From my understanding you have to choose to go out of your way to use zsh over bash (or in some cases dash).
zsh has been the default on macOS for a while now so it's pretty commonly used
Sure, but the comment was

> But for server side we as usual stick to default shipment, vim, zsh etc

And macOS isn't a server OS.

zsh has been default on MacOS for a while, after bash started licensing as GPLv3.
MacOS uses zsh by default