For the entire life of z/OS, over 50 years, the operating system has relied on skilled assembler programmers to maintain and enhance the system. Assembler skills are still almost required to initially configure and customize z/OS. This is true for doing things like specifying the separator page on print out, coding up a logo for the logon screen, or time setting limits.
In the last couple releases we have begun to introduce capability that allows customization without requiring assembler skill. This includes introducing policy based parmlib support such as SMFLIMxx which lets you set many of the memory limits in z/OS using a declarative style rather than having to code assembler. This parmlib member got a little smarter in z/OS 2.4, we also added support for some of the RACF requirements for assembler code in z/OS 2.3 and we are planning to support a general policy based facility in JES2 in z/OS 2.4. None of these mechanisms remove the existing assembler exits but instead provide you with an alternate way to specify some of the more common items.
The idea being that one should eventually be able to administer a z/OS system without requiring assembler programming skills. But there is still a need to be able to extend the operating system by our independent software vendors. In that case we are also concerned about the ongoing assembler skill and to that end have begun shipping C header files for common z/OS control blocks. This support is available starting in z/OS 2.4 and ships the headers in both a PDS dataset as well as in the zFS file system. Initially in z/OS 2.4 we are shipping a subset of headers that will cover SMF records and some system data areas. Over time we would hope to be able to expand that to more of the mapping macros shipped in SYS1.MACLIB and SYS1.MODGEN.
I’d be interested in knowing if our approach of reducing assembler skill requirements is something that you see value in.