I see lawyers as some sort of bad kind of software developers but for humans.
They write the shittiest code possible (in my view on purpose) such that each time it can be interpreted slightly differently depending on who's being accused.
This code is very hard to refactor, it calls various routines from libraries that have been long abandoned yet amended in other routines or functions that 'decorate' and change behavior.
And then when there's something to understand or change they pretend lots of money to give you their interpretation and or provide changes.
Law's are not bad intrinsically but it should be taught in school and be as simple as possible, or in other words, it should use the KISS principle.
* Lots of laws look crufty to casual observers, but the reason is that they have been amended again and again and again over the years to accommodate various edge cases.
* Laws are a structured, formal attempt to model human bevaviour, which is messy, fuzzy and unpredictable except at the statistical level. A clear, simple law may not be the best way to govern unclear, complex agents in a complex system.
The temptation to throw out our laws and replace them with something simple and clear is dangerously close to the Second System Syndrome to which well-meaning software developers often fall prey.
I'm not talking about NIHS or rewrites, I'm talking about refactoring.
And lots of edge cases and special things are not a good thing in law or software I think.
http://quandyfactory.com/blog/30/software_as_a_model_for_gov...
I do believe we need to exercise caution, balance and good judgment, and that most of the time, careful refactoring is more prudent and effective than throwing out the existing code and starting from scratch.