If I may nitpick (and really, if you can't nitpick on HN, where can you?), their definition of Metaprogramming seems weird. The subheadings are build systems, package management, and CI/CD, whereas I've always heard "metaprogramming" as a general term to cover reflection, macros, introspection, and similar concepts. Have I got the wrong definition or do they?