Worse than that, legal "code" has thousands of frequently used implementations (judges) and millions of one-time-use implementations (jurors), all of which may interpret it differently, both from each other and even from their own past versions. So if you thought writing JavaScript was bad because you have to deal with a half-dozen browser implementations and quirks...
The legal system is massively reliable. By the time something reaches an appeal court, you're already into 5th 9 territory. You can live an entire life under it, moving through it, completely surrounded by it, and never have to see it or think about it.
They can and do. Quoting the Oregon constitution:
"In all criminal cases whatever, the jury shall have the right to determine the law, and the facts under the direction of the Court as to the law, and the right of new trial, as in civil cases."
Similar measures exist in other legal jurisdictions, though it isn't universal.
> judges have a well-organised system for exception handling
I didn't suggest they don't; I suggested that two different judges can interpret the law differently.
The point here is that jurors decide on facts according to law, as instructed by a judge[0]. The judge is also asked during trial to consider legal questions -- not the jurors.
> I suggested that two different judges can interpret the law differently.
I suggested that is why there is a hierarchy of courts, with the hardest and most important ones being delegated upwards via the process of appeal.
I am, of course, not a lawyer and this isn't legal advice. I did enjoy my time in law school though. The main thing I learned is that the law is a language that resembles but is not common English. Phrases like the one you quoted have to be read in the larger context of case law and statute law.
[0] http://www.americanbar.org/groups/public_education/resources...
What happened here is what happens when someone with insufficient skill tries to write an L program. The language has no such thing as linting or syntax checking, so while a faulty program will always run, it will return with unexpected or absurd results. L failures tend to make C's nasal demons look positively friendly by comparison.
There's no formal spec, it's literally centuries of ad-hoc patches and fixes and revisions piled onto one another.