Informative but confusingly put, the way to phrase it would rather be "The main niggle I have with [shell access on osx/macos] is that it [ships with] Bash v3 and not v4 (and Apple advised on a support ticket there were no plans to change that in the foreseeable future); and [iTerm/any other terminal emulator] also runs v3 [as per the default system configuration]. It's not a massive issue but it does occasionally bite me writing shell scripts." Point being that Terminal.app is entirely uncoupled from the shell it runs, and the choice between Terminal and iTerm is a completely separate decision from which shell to run within. System bash in iTerm or fish in Terminal.app both make complete sense. macOS, also comes with a very recent version of zsh, plus several others (csh, ksh, tcsh). As do many, or even most, other systems. As an aside, there's no major reason to shy away from setting up an up-to-date shell environment just for consistency's sake, unless maybe working on tens of new machines every day. On a mac, installing homebrew (brew.sh) is a oneliner, and then simply brew install bash zsh fish; brew cask install iterm2. Other systems ship with built-in package managers, so even simpler.