> Shell is not a programming language, it's an interface to the OS, and thinking about it like a programming language is just asking for frustration.
I guess this just isn’t obvious to me. Where do you see the boundary between “interface to the os” and “programming language”?
Shell exists to give users a way to run programs. It was the user interface for UNIX, C was the programming interface. Yes, it's technically a programming language by any reasonable definition, but it's not meant to be used in the same way at all so that's not helpful.