Of course you don’t have to switch, since you can brew install bash 5 or whatever the latest is and then chsh to it, but if you want to use it as an opportunity to change shells, consider checking out some of the newer interactive shells like nushell, elvish, xonsh, oil etc. Some of them are even based on actual general purpose, fairly common programming languages.
I really want to try something new but many of those shells are not POSIX compliant enough to be a daily driver and that's kind of a deal breaker. I often run external shell scripts to install various things and the fear that the new shell environment might muck up something I didn't notice is too real. Would have otherwsie moved to fish long ago, so for now it looks like zsh is as good as it gets (unless my concerns are unfounded of course).
I don't actually think it's that big of an issue. Most of those kinds of scripts should have something like `#!/bin/sh` already to ensure they can be run everywhere and you could always run a specific script in bash/zsh if needed.
Worst case, really, is that many of them do $PATH manipulation, set Env variables for you, or setup autocomplete and you'll need to redo that work in your shell of choice if it doesn't act like bash/zsh (e.g. I think nushell would be the most annoying in this way).
Well, we take a distributed approach where I work currently. Some of it is in an Excel or a Google Calc spreadsheet, some in Confluence, the project README.md, random Git comments. Sometimes we annotate the classes in the code with documentation and sometimes even generate the documentation from that. It’s all a little confusing TBH. Some of our models are cross domain and have meaning depending on context.
Why would they? It's just another build target to them, most of the engineering on this is done elsewhere. Worst case new hardware will ship peripherals that aren't supported well.
loadlin was the tool that would boot the kernel (including initrd) from a running DOS system. You might be thinking of umsdos? IIRC, that's the tool that would allow you to actually run Linux from a FAT partition (likely FAT16).