1 May 2020

Legalese vs code

This morning, I had to read the text of one section of India’s Income Tax act. Unsurprisingly, reading the text and understanding it was not easy. The difficulty is so well known that there’s a name for the language used in such legal documents: legalese. As I was reading through the rather short document, I was reconstructing an internal version of the same document in my head. Only this internal version was easier for me to understand.

Suddenly I realised this practice of reading something complex and reconstructing it inside my head is something I had been doing for years. Reading legalese and making sense of it is not very different from reading legacy code and trying to understand what it does.

Understanding code is easier sometimes because experts have been steadily making progress in making code easier to understand. These include creating new languages that are easier to understand as well as coming up with ways to alter existing code to make it easier to understand (known as refactoring in the programming community).

Compared to lawmakers and lawyers, programmers are at a better place because programmers have the tools to help us simplify code. Less readable code is also culturally frowned upon.

Lawmakers, on the other hand, are stuck with imprecise human language to write precise laws. Inventing new languages for writing laws is not an option. Think of it as a surgeon using a kitchen knife to perform a surgery. It’s doable, but it’s very hard to be as precise as the surgeon would want to be. That’s probably why laws are so hard to read, understand, and interpret.

No comments:

Post a comment