In this way, programmers are really lucky. Unlike biologists or mechanical engineers, who have to deal with the world on its own terms, programmers deal in a world that is entirely of their own making. We have the luxury of being able to re-work and re-invent our world to make it easier to understand. Physicists don’t have the option of re-writing the laws of relativity in order to make the cosmos easier to understand for everyone, but programmers do have an analogous power. If something like the exchange of data over the web, or the modeling of database records as programmatic objects is too complex, we have the power to invent a new world that makes everything easier to get our head around. Rails, of course, does precisely this.

Notes