Technology Imitating Life Imitating Technology

- - posted in 10000 Hours, Flatiron School

Honestly, I haven’t loved learning to program. I LOVE Rails though, and as a result, I think I am enjoying the nuts and bolts of programming more as well. I’ve been thinking about why this could be, and I’ve come to the conclusion that Rails is a closer match for how my brain has been trained to work. It is designed at a higher level of abstraction that can more easily be related to things that I do understand in the real world. Let me explain via the example of the city interpretted as a model, view, and controller.

Model

The model of city could be compared to the laws. We are a society shaped by laws. They govern how we build (building codes), how we move through the city (traffic laws), how we relate to each other, etc. Just a like a program that throws errors when you disobey the rules in the model, we punish citizens for breaking the law by issuing violations and putting people in prison. Just like our models, laws are a deliberate design element of our society that shape the ideal world we would like to live in and they can change.

View

The view of a city, the interface if you will, is the city itself. Just like for a user of software, the interface is the program. Our experience of both a city and a website is what we see, touch, and interact with. We know there are laws written down somewhere and people who deal with these things (lawyers, judges, and politicians), but, for the vast majority of us, we don’t really think about it.

Architects are like front end developers. They create the built environment we see around us. They must follow the rules though. They also think about how citizens interact with interface.

Controller

The controller is like the verb of the city. It is how a person navigates the city to go from their home to work to a bar and back home. At first I had a hard thinking about a parallel structure in the city that plays the same role as the controller, then it kind of dawned on me… What in society allows us to navigate activate views and create resources… For better or worse, the only thing I could think of was currency. I don’t mean currency in strict sense of money. Currency can come in many forms, but we

Now, why I love rails.

A few years ago I read What Technology Wants. This new theory of technology offers three practical lessons: 1. By listening to what technology wants we can better prepare ourselves and our children for the inevitable technologies to come. 2. By adopting the principles of pro-action and engagement, we can steer technologies into their best roles. 3. And by aligning ourselves with the long-term imperatives of this near-living system, we can capture its full gifts.

The moral of the story is that when I look at rails, I see an elegant synthesis of human creations, which is exactly what I see when I look at the city. Rails is a continuation of everything that has come before. Rails is an elegant synthesis of many parts, many technologies, the fruits of many brilliant minds. It is layered and complex and seems to be a living, breathing extension of everyone who has worked on it.

For me, technology gets really interesting when the lines between different disciplines dissolve and we come to the realization we are all talking about the same thing.