I've been wondering this for years. It seems like the most obvious way to greatly improve CLIs, yet no one seems to talk about it...
To my understanding Fish shell doesn’t have complete BASH compatibility and it breaks many scripts.
It also doesn’t seem to have nearly as wide of an adoption as ZSH so less overall community support in genera.
Sure you can just specify the interpreter with hash bang but it’s something worth noting before considering a switch.
Because of that design they are long and readable words but tab completable, and ctrl-space will bring up a menu of available matches starting with what you've typed so far.