Comment by stakhanov
3 years ago
I'd say, it's useful to distinguish between intentional and unintentional ambiguity/underspecification. For example, many jurisdictions that have statutory contract law have a statute that says that a provision in a contract is unenforceable if it is "unconscionable". There is, of course, a broad spectrum of things that can fall under that term, but that's intentional, i.e. the law maker specifically wanted to open a door there for a judge to hold a contractual provision unenforceable if they need it to be to get to a just outcome.
However, a lot of ambiguity, underspecification, and just plain sloppiness in language is there for no good reason and causes problems, and it would obviously be a good thing to get rid of that.
"However, a lot of ambiguity, underspecification, and just plain sloppiness in language is there for no good reason and causes problems, and it would obviously be a good thing to get rid of that."
100% agreed. When clear (and simple) rules are possible, vague rules just create opportunities for shady things. And yes, we have many, many laws that could be made simpler and therefore more clear. And if a programming language can help with that, that would be awesome.