Agreed, this is part of why we have judges! Besides, if you think law is a tortured convoluted process today- just wait until we try to write it to explicitly handle every possible corner case.
The reason our laws have held up fairly well thus far is because they are vague. For example, the "reasonable person" clauses. What is considered reasonable changes with time. Do you really want to have to re-write all the laws centered around "reasonable person" every couple decades?
Remember, the legal system is not a computer. It doesn't necessarily make sense to approach it like one. Many of us here are programmers, and sometimes it shows.
"Do you really want to have to re-write all the laws centered around "reasonable person" every couple decades?"
Yes, and in fact, I would like every law to expire no more than 10 years after it is passed. We have too many laws and too many ways to become a criminal; force politicians to spend their days renewing necessary laws and we'll curb our out-of-control legal system. Keep the legal system straightforward, so that nobody is confused about whether or not they are committing a crime. Eliminate plea bargaining. Reduce the power of prosecutors, and reduce the power of the police (let's start by reducing the power of their firearms -- we really don't need soldiers serving search-and-arrest warrants).
If this was such a great way of doing things, why don't we programmers (who of course have everything all figured out) already do this in our code? Have a harvester that regularly walks your VCS and deletes any function older than 1 year. Sound like fun?
Keep the legal system straightforward
Being explicit is not the way to achieve that. Explicit handling of corner cases is always confusing when there are many, even more so when you are speaking in legaleese. "Reasonable Person" codified explicitly would take pages and pages and pages. You think that would be more understandable to the layman than, "What a Reasonable Person would do"?
If Real Life and People could be so easily codified, heuristics would be a completely useless field.
Eliminate plea bargaining. Reduce the power of prosecutors, and reduce the power of the police
What does that have to do with this line of discussion?
Instead let's apply another software development concept to the law: regression tests. The current legal process is like deploying untested code to production (We aren't even sure if it will compile, but heck, ship it anyway! Got a campaign to run!).
"Have a harvester that regularly walks your VCS and deletes any function older than 1 year. Sound like fun?"
Periodically reviewing code to ensure it still does what it needs to do is not exactly unheard of, and neither is replacing old code with new code. It is how we keep our software up-to-date.
How about the flip side: how would you like to have no code ever erased -- how would you like to spend your time supporting code written 50 years ago side-by-side with code written yesterday? That is what our legal system is like right now: laws that made sense decades ago, laws that made no sense decades ago, laws that were passed this year, etc., all relevant and applicable today. The government cannot even count the number of laws on the books at this point.
"Explicit handling of corner cases"
How about not bothering with corner cases? Let people whose actions seem criminal but which do not meet the definition of any crime go free. Do we really need to prosecute every single person who does something we do not like?
Our justice system is supposed to favor innocence, not guilt. Yet we see the exact opposite happen with the "let's make sure we never have corner cases by being as broad as we can be" approach to law.
The point is for laws to have a clear boundary between innocence and guilty. Nobody should be unsure about whether or not they are breaking the law and we should not be relying on a handful of judges to make such determinations.
""Reasonable Person" codified explicitly would take pages and pages and pages."
Sounds like the real problem here is that we have laws based on what "reasonable people" do, which is a pretty conservative approach to law. Why should the law be concerned with "reasonable people" -- why shouldn't the law just clearly state which actions are illegal and which are not?
We seem to be pretty straightforward sometimes. We define BAC limits for DUI laws. Why not be straightforward about computer crime too? Why not be straightforward about all laws? You are right, most people cannot understand pages and pages of laws -- so what are we supposed to do with the current legal system? You walk down the street at the mercy of the policy, because in reality you have no idea which laws you might have broken or which laws you were expected to follow.
What would a reasonable person do? A reasonable person would get a job, climb the social ladder, and never complain about it. Reasonable people in the 19th century would not have complained about women not having the right to vote. Reasonable people in the 18th century would not have complained about the triangle trade or slavery in general. Reasonable people would not have rebelled against British rule, nor written the Magna Carta. Laws should not be based on what reasonable people would or would not do; laws should be based on ensuring that people can continue to enjoy their freedom.
"What does that have to do with this line of discussion?"
I suppose that last comment was only tangentially related. The combination of broad laws, powerful prosecutors, and plea bargaining are the reason America is the world leader in imprisonment. Most of our prisoners never received a trial, because they odds were so severely stacked against them that they just accepted the plea bargain on the advice of their lawyers (often overworked public defenders). This is not a theoretical problem, it is the reality of our justice system and of our society.
I think our disagreement boils down to one thing. You believe our legal system could be fairly and justly encapsulated in a document perhaps the size of a dime novel, if only people had the forethought to make laws the way programmers (that godly race) write programs.
Yes, I'm being a little bit snarky. I can't help it. Besides the part where the real world is infinitely more intricate than a computer, software projects routinely fall into exactly the sort of chaos you are saying a pragmatic "boolean" approach to law would avoid.
There's an effect whose name I cannot remember that people in tech fields are particularly prone to fall victim to, wherein an individual wildly underestimates the amount of difficulty and effort required to tackle fields which are not his own. I believe you are falling victim to this effect.
Is approaching our body of laws like a programmer necessarily a bad thing?
I'm being a bit tongue in cheek here, but to use your example - if only our body of laws were properly DRY, changing that precisely-defined 'reasonable person' would only require one tweak.
The reason our laws have held up fairly well thus far is because they are vague. For example, the "reasonable person" clauses. What is considered reasonable changes with time. Do you really want to have to re-write all the laws centered around "reasonable person" every couple decades?
Remember, the legal system is not a computer. It doesn't necessarily make sense to approach it like one. Many of us here are programmers, and sometimes it shows.