Don’t some words suddenly rake up old memories? They are the books at the bottom of the shelf, all dusty and full of spiders, and then you need to take it out carefully. The pages are very old, some almost crisp enough to break in two, the binding loose from the middle, the pages more yellow than white, and sometimes you may find a stain of the bottom of a cup kept on the book sometime long ago, things you don’t remember, but you’ll just assume that it happened. But taking it out from the shelf, that must be done carefully, or else, all the other books would tumble down, the old ones will tear off probably, and it would take time to resettle them back onto the shelf again.
Once you have the book, you would probably just look at it. You won’t read it, you know, because of many reasons, one of them being you’ve already read it before, the more important one being you don’t want a plethora of memories to rush in your mind which you know would definitely happen once you open the book. I call this thing abstraction. By definition, abstraction refers to the act where you hide the important details of anything and show only the important parts of it. It is in essence the very value on which our entire life places it base upon. We work on the principle of abstraction. And Computer Science students at school, if you are studying OOP or Java, this might turn out to be an interesting post for you. So let us start from a very basic example. This is going to be the one hundred and seventieth post on this blog. A very big number by my standard. 170. Yes. But pray tell me, how many of you can claim to know me by more than what you’ve read? Abstraction. You comment on my posts, and on other people’s posts, yet most of the times we never talk about ourselves, do we? We sit for an interview, and love to speak of our achievements and victories, and what laurels we’ve brought home, yet seldom we point out our weaknesses. We learn programming languages, and master the art of programming, and algorithms and all that, yet seldom we look into how the compiler or the interpreter works. This is getting too technical. No, that is not the point of this write-up. Let’s come down into something more human. Does your teacher care what the name of your uncle is? No. Abstraction. Does your driver care if you fail an exam? No. That’s abstraction. Filtering out. People keep filtering out all the time. They filter talk, they filter friends, they filter the company that they keep. And then, if we come to see it properly, wouldn’t life be impossible without abstraction?
Yes, it would be. Give it a thought again. Knowing everyone around you, being polite and courteous to them, and knowing everyone’s name. Wouldn’t that be a horror? How many of you watch Game of Thrones? I bet a lot many. Tell me, how many Walder Frey’s are there in the Frey family? And how many Brandon’s are there in the Starks? Lots right? Generalization. They aren’t important, don’t care about them, don’t burst your mind into remembering them. Martin teaches us abstraction that way. Bookish examples now, when you press the accelerator, the car speeds up, without you having to care about the internal workings. I am not going to talk about programs here, they bore me as much as they bore you, and you could probably find thousands of examples and text about it if you go on a technical site. My point here is to tell how it relates to life. And how we, in our everyday life, constantly use abstraction to make our lives simpler.
Do you have an Android phone? Oh, does it have a camera? Yes? Oh, how many megapixels? Has anyone ever asked you these questions in exactly the same order? Or have you ever asked them the same? Going from the more general question to the more specific one? Did you also ask whether the processor was Qualcomm and how many cores were there? Probably no, you cared only about the camera because you were secretly wishing to click a picture for your Facebook account if the camera was good. That, is abstraction. You get the idea, right? Basically what I want to drive home here is that you may be studying all this today and feel that this is a load of crap, that you would be better off writing programs than knowing what concepts OOP works on. But believe me, it is more than the computer. It is more than the language and the program and the application that you make. It is life. And to lead it, and to understand how you are leading it, is important. That is the key to happiness. Don’t go into the details. Just have an overlook of everything. Don’t ponder over everything you read. Don’t fret. Be happy. Use abstraction. Today. What the hell did you read just now?