M4 is not as unpopular as you might think.

It is the base of GNU Autoconf, so everyone who touched a configure.in / configure.ac file did in fact work on M4 code.

(... which is then expanded to a portable shell script also known as the ./configure script.)