Humans think in categories, our code should be a reflection of that.
First things first, I didn't come up with the term "domain" — I got it from the popular programming paradigm DDD, or "domain driven design". According to Oxford Dictionary, a "domain" can be described like so:
A specif...