Think about it by analogy. You know, when you write a program, how can you have a local variable with the same name as a global variable. Area definition rules for languages go from specific to general.
Same thing with STEPLIB, which is specific at the job step level. Although JOBLIB is a generic, global definition. This allows a common definition or redefinition, which can change at every step. The transition to another path is too hard and not controlled.
Some will say, "well, someone from IBM just made a choice." No, I do not agree with this, IBM had good, reliable and rational solutions regarding how they designed the hardware and software for mainframes. And the ability to manage program libraries in a hierarchical order, from specific to general, is one of their many excellent options.
source share