Power of Abstraction

I think fundamentally in our learning experience we constantly strive to keep things as abstract as possible. For example, when were getting started with basic algebra, we were taught the idea of balancing on both sides of equal sign–subtract this number from both sides, divide that number from both sides and so on, until we get what we want. After some time we start taking these ideas for granted and began worrying about bigger problems like how to model real world problems in basic algebra and the like. I realized that the point of the excercises in textbooks is to get the readers start taking the illustrated ideas for granted so that now they can work on more bigger problems. They want to make an abstraction layer of the new ideas.

When I was in high school, I was told by many people to just concentrate on basics or fundamentals. I think I took the idea too literally. Or maybe I misinterpreted their advice. I would force myself to worry about the rules of basic algebra while solving calculus or three-dimensional geometry problems. That made my life very coagulated. I would get so focussed on unduly details that the problem will look much more difficult than it usually is. The point is, if I was forced to solve these problems in a limited time frame, i.e. in tests, I would solve them fine like other kids. But after that I would not get that much satisfaction from that. It was like I have cheated my way through it.

This went for a long time, I think for nearly four years. Maybe more. I was worried that if the foundations are not correctly understood, that will create problems for me later on. What if my intellectual tower of the concepts falls apart because of these hallowed fundamental concepts, wasting years of my effort? These fears contained me for a significant amount of time.

Time went on and eventually I switched my intersts from theoretical physics to computer science. I had to because I diden’t got into any Physics program. I thought I might make a new start here since I was getting started from absoulte scratch. After my first semester, I started studying a book and corresponding course “Structure and Interpretation of Computer Programs”. The course started right away with the idea of abstraction being a central idea of computer science– First we have primitive expressions, then we notice common patterns in these expressions and build procedures that embodies the general rule from which all the computations of that type can be captured. Then we will notice patterns in these procedures themselves and build compound procedures, and so on.

I realized that in programming the basic idea of abstractions was to save ourselves from worrying about details because what will matter is what the function computes, not how it computes as long as it is computing correctly It doesen’t matter if (double x) is implemented as (define (double x) (* 2 x)) or (define (double x) (x + x)). The important thing is the result is correct and sound.

I gradually realized that I should just go on without fearing about what may come ahead. I just trusted myself that what I have understood is right because I have thought about it enough. My life diden’t became a walk on park after realizing this but I started feeling that the difficulties I was now facing was not waste based on irrational fears.

Now the question arises, what if I tomorrow read a new concept that shows incompatibility from a previous understood concept. Well, in that cases one of the two things may happen. Either I had misunderstood the earlier concept or it may lead me to the discovery of a new rule. The second possibiltiy fascinated me because I realized that all nearly all the advances in physics follow this route. This is the source of all our new knowledge.

But what if the first case happens. Well, then my understanding will deepen, what else. I realized that earlier I was afraid not only because the old concept may fail but also because the ideas that I studied between old and the new one would also get hallowed. That seems terrifying if we just look at it. It actually happened to me sometimes. The amazing thing was that it was not a pain at all. All the ideas just align themselves with the new found rule almost instantaneouly. It just felt amazing.

I think if one sees a newthing, one should get as familiar with it as possible so that we start taking that thing for granted. For myself, I think this is the way I can work on problems that truly interst me.

This entry was posted in Uncategorized. Bookmark the permalink.

One Response to Power of Abstraction

  1. Actuallymk says:

    Well said…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s