I thoroughly enjoy analogies. They help me relate new concepts to ones I already grasp fairly well, which makes learning them a lot easier. I’ve been learning Cocoa for some time now, and I recently thought of an analogy that really helps me out. (Disclaimer: this may be a somewhat simplified version of real life; it’s meant for educational purposes, not for historical accuracy.
This is a very simple concept, yet sometimes it’s one of the hardest ones for newcomers to the platform to be able to stick to. The concept is basically “don’t tell me how to do my job and I won’t tell you how to do yours.” For example, let’s say you are the mayor of a little town, and you tell the Post Office that a new outgoing-mailbox needs to be put near the new school.
Very simple code, right? Just a single line. The mayor doesn’t tell the Post Office where to obtain the mailbox from, or what time and day to install it, or where exactly it should go.
Likewise, in order to figure out where to put the new mailbox, the Post Office doesn’t steal the school’s blueprints out from the superintendent’s desk, he asks for it. Then the Post Office would need to use the blueprint and mark on it where the mailbox should go, and continually ask the New School if the location is acceptable.
Delegation can sound like a scary concept to someone who hasn’t ever read or heard its definition before. More or less it means a person (or object, in this case) who is responsible for answering a question or reporting to someone else.
Let’s say you work at a local newspaper, and there’s a new intern, Little Timmy, who is all grow’d up now and ready for his first taste of the real world, where bread and cheese come a’plenty. But, he has to earn it, so he gets an internship, specifically interning under you, the experienced journalist. This is great news because before, you always had to sit outside and keep your eyes and ears out for any good stories to come across your way. That cut down on your writing, because you just didn’t have enough time to write the quality articles you *know* you can do. Now, you can have the new intern go sit outside and watch for interesting stories to cross his path, while you sit down and work on the one you already have in your hands. When he finds one, he will report to you, and you will write it up until the next one comes across. Because of all this new free time you have during your work day, you end up writing such quality work that you win the Pulitzer.