According to David Hough (regarding the IEEE floating-point arithmetic standard 754)
> Those organizations typically design the specification around least
> common denominator analysis of shipping hardware
That’s the difference between a prescriptive and descriptive standard.
A descriptive standard simply describes the minimum set of properties that
software can rely upon in some hardware/os universe. As you indicate, this
set is subject to shrinkage over time, causing the software to expand to
try to adapt. Its goal is to force the software to fit the hardware, for the
convenience of the hardware vendors.
A prescriptive standard aims to make the hardware fit the software that is written or will be written to fit a relatively simple programming model.
This is for the convenience of the users of the software, who most likely do not have the expertise to adapt it to new hardware.
It boils down to who benefits and who pays. Hardware comes and goes,
but software lasts forever… especially old Fortran programs!