fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
Write POSIX scripts for portability*, maintainability doesn’t depend much on the shell
POSIX for the system, Fish for the interaction is how I like my OS :3