In case law, the Judge's decision in a trial
usually is a page long,
sometimes only a sentence or two. But there may be 80 pages of legal
reasoning explaining just why the judge came to that conclusion.
Compiler developers end up being language lawyers. When a problem
comes up regarding a language feature, they want to know the
committee's intentions and rationale for why the standard says what it
does say (or appears to say).
-Paul W.
That's actually a very, very good comparison, it certainly helps me see it in a
different way.
For some of the background on the angle I'm approaching this from: I've worked
in the EPA-regulated US environmental sector since late 2012, first as a chemist for 4
years until enough patches and suggestions up to our data system team got me on their
radar enough to jump over the fence. Back in the lab days, our governing literature came
from only a handful of sources:
- EPA SW-846 ("Waste")
- EPA Clean Water Act (NPDES, "Wastewater")
- ASTM
- Standard Methods for the Examination of Water and Wastewater
Each of these groups maintains (the former two, gratis, the later two for licensing
fees...) a plethora of chemical analysis methodology, often quite prescriptive, describing
the legal expectations of running that method. In all my time working with the methods,
we always, and I mean *always* had a copy of the legally binding document at arms length,
often copies littered throughout the lab (although any formal investigation or dispute
required a "controlled" signed and dated copy from the QA office.) On the flip
side, I don't recall seeing *any* sort of general literature books around the lab
akin to the computing books we see everywhere that were derivatives and digestions *of*
the lore that was the legally binding method text. Then our work is usually broken up by
program (and by matrix i.e. solid, water, organic waste) and the appropriate method for
the program, permit, and sample matrix must be strictly adhered to. For instance, if you
are running anything related to the Clean Water Act in wastewater for mid-level heavy
metals analysis, it must be EPA method 200.7, no ifs ands or buts about it. As such,
working from literally any other document is just setting yourself up for disaster because
then, what if that author left out that you need to perform a filtration on the
field-preserved sample before it goes on the instrument or it isn't valid 200.7
analysis? A book on ICP-AES may not tell you that, some random work someone wrote
commenting on their experiences or observations with heavy metals analysis may not mention
that little bit, but you can sure as heck bet that it will be precisely in section
whatever subsection whatever paragraph whatever of the legally binding document. If you
didn't read the standard and skipped this step, at the very least your data gets
recalled, at most, you wind up in court for data fraud.
Am I getting into apples vs oranges here? Is the difference here that standards like the
ANSI standards here are more like "you must conform to this to say that you conform
to it" but you do not need to conform to this to say that you are programming in a
given programming language, or to sell products on a specific platform or in a specific
industry, or something like that. Perhaps what I'm missing is the difference between
the regulatory teeth involved in the EPA's expectation of data quality vs the fact
that "quality" in off the shelf computing products on the private market is a
suggestion, not a legal requirement to even operate? Is it that standards existed as a
way to give products a nice marketing banner to fly under if they so chose and way to
signal quality and compatibility to customers with the confidence that others won't
go parading around like they're also comparable when they really aren't? That
would certainly explain the difference between what I see in my chemistry side of things
and what I see in computing if the expectation of computing standards is just "you
don't have to follow this, but if you do you can flaunt it"?
To put it even shorter, as a chemist working with regulatory EPA methodology, my bookshelf
better be full of those legal documents and my work better *perfectly* match it or I can
find myself in all sorts of hot water. For most bookshelves of programming books
I've seen in stores, libraries, professors offices, etc. I scarcely *ever* see
governing documents at all despite countless languages being legally defined and yet
everyone hums along business as usual. Thanks for entertaining this question by the way,
it's kinda "out there" but this is like the only circle of folks I've
found that I consistently hear good insights on this sort of stuff from, which I
appreciate. I wish I could articulate what I'm getting at more succinctly but it is
what it is.
- Matt G.