I haven't seen anyone mention one important reason for writing POSIX shell over other shells. The article implies it, but never says in directly: portability.
I wrote a 2100 line monster of a POSIX shell script. [1]
The purpose was entirely for portability. That script allows me to use a straight POSIX Makefile for building my bc. The combination of the two means that my bc builds without modification on any semi-POSIX system.
That said, it was hard. I basically had to constrain myself to POSIX utilities and still implement a template language. I got it done, and it was worth it, but if you don't have to, don't do it.
I wrote a 2100 line monster of a POSIX shell script. [1]
The purpose was entirely for portability. That script allows me to use a straight POSIX Makefile for building my bc. The combination of the two means that my bc builds without modification on any semi-POSIX system.
That said, it was hard. I basically had to constrain myself to POSIX utilities and still implement a template language. I got it done, and it was worth it, but if you don't have to, don't do it.
[1]: https://git.gavinhoward.com/gavin/bc/src/branch/master/confi...