Best computer programming analogy
So whenever I try and tell my parents, friends, girlfriends… ok, (I’m kidding about the girlfriends part) about what computer programming is, what frameworks are, and generally, what I do while in school, it becomes rather hard. I realized this early as it’s difficult to explain recursion to a new student, much less impossible to explain recursion to your mom, so I have decided upon what the best analogy for relating to computer programming is.
The Car
Frameworks
What I would say to a peer
I built a framework that is general enough to be used in multiple applications. It contains database abstraction, session handling, automagic inclusion of classes and access control. This framework can be used in multiple applications, such as my side project which is creating a roommate matching website.
What Mom hears
I built the engine that runs the car. The application can be thought of the whole car, but it’s the engine that makes it run. The engine can be taken out of one car and put into another car with little to no change to it.
Theming
What I would say to a peer
The theming in the framework allows for a developer to create a set of XSL stylesheets that can shape and mold the entire look and feel of the application. Anything from one column with header and footer to a three column layout with only a header.
What Mom hears
The application allows for me to either choose which paint I want to have on my car, and if I want a spoiler or a sun roof. With the flip of a button I can go from a silver car with a spoiler to a red car with sun roof and mud flaps.
Web Standards
What I would say to a peer
Many programmers know of all of the problems that IE has in regards to specifications and how they really throw them out and have their own rules. It’s really sad that one must resort to many of the CSS hacks in order to make a website look similar on all pages.
What Mom hears
Imagine that you have a specification to how all engines are created, and how it fits in the car. This will allow an engine to be built by one company and used by Ford, GM, Toyota, BMW etc. Now, imagine that you build your engine so that it will work with this specification, but think that there is one company (BMW) that does not follow that specification. Imagine that you have to drill a hole in parts of your engine where there shouldn’t be holes, and bang it with a hammer a few times before it will fit properly. As an engine manufacturer will be very upset that it doesn’t work properly with Audi, but you must do this to every engine. Usually at this point I hear “that’s awful” or “why would one company be like that”, then I say imagine Audi is Microsoft, and that’s how web development works.
I’ll post more analogies to THE CAR when I think of them, but these are the basic ones.
This is really good. kudos.
Well, the article is actually the sweetest on that notable topic. I harmonise with your conclusions and will thirstily look forward to your next updates. Saying thanks can not simply be sufficient, for the extraordinary lucidity in your writing. I definitely will directly grab your rss feed to stay abreast of any updates. Solid work and also much success in your business efforts!
I must say, I could not concur with you in 100%, however it’s just my opinion, that certainly could be wrong.
Such a well written post.. Thnkx for sharing this post!
This site is a walk-through for all the information you wanted about this and didn’t know who to ask. Look here, and you’ll definitely find it.
This is a really good read for me, Must admit that you are one of the best bloggers I ever saw.Thanks for posting this informative article.