Tuesday, August 24, 2010

Moving from POP to OOP

In the first paragraph itself, I mention that ‘POP’ is not pop, it is Procedure Oriented Programming and OOP is Object Oriented Programming. As we know, the C is one of the procedure oriented programming language and many of others like C++, Java, .net are the object oriented programming languages.

The ways in which the programs for the computer are written are many. Out of all these, POP was the first popular methodology to write the program. The languages like Pascal and C has made this methodology very popular. Before, 1980s the computing world was unknown to the power of object oriented programming. This was like a hidden diamond in computer programming. I would like to explain few things that I experienced in my life to move from POP to OOP.

I came across the computer programming in ninth standard for first time. BASIC was the first language on which I wrote a program for. Basically, the programs that I wrote were pre-defined. We were told to write the programs in some pre-defined way by our teachers. So, the logic behind the computer program was not understood by me! Then in the second year of diploma in computer engineering I learned the C programming. This was the first time; I forced myself to understand the programming! The ways in which I wrote the program was some bit strange. Because, there were no guide for us to tell us. Some of my friends help me understand the programming. I used to write the program in many different ways. Still, then I was confused in some of the points. We were not having any teacher to teach the C programming. In last year also, I had came across only the programming with C in subject ‘Computer Graphics’. Few of my friends were doing their final year project in C++ programming. So, I thought this language will be simple and quite similar to that of C. but, when I studied I went wrong. Not a single bit I understood from C++, except that it is an object oriented programming language! Due to this, I left the study of this language.

In whole second year degree in engineering, we used only C programming language to write the programs. I thought, it was goodness of our university that they did not keep any other programming language for study in that year. The C++ was there in practical syllabus of university in third year, first semester. Actually, it was a combination of many subjects’ practical. C++ programming was one of it. I was having a strong hold on C programming so I thought it would be very easy the learn C++ at this stage. But, again I went wrong. I found it very difficult that, why to write classes, why to inherit them, why to write two functions with same name or same parameters. I did not found the answers to these questions by my own. This was the reason; I left the study of C++ programming. It was unfortunate that, finally in the university practical, I got the question of a C++ practical to perform. This was the first time, I thought, I am not knowing the programming! I tried the program for many ways, but I failed. I remember, Prof. Rekha Kulkarni from PICT College was the external examiner for that exam. She asked me, what have you done in whole semester? I was unanswered.

I tried to improve myself in object oriented programming, but I failed in that. Next time, when I appeared for the exam, I got different practical than C++ to perform. It has made easy for me to pass the exam. I came across the Java programming language two years later. This was the turning point to understand the conceptual object oriented programming. Actually, Java is strongly object oriented language. Whenever you write any program in Java, it forms an object. So, it has forced me to write programs with the help of classes. So, when the need of inheritance or polymorphism arose I used to fulfill that with the programming logic. After all these features of Java programming language I understood the concepts of OOP for the first time. But it has taken a lot of time to switch from POP to OOP. C and Java both the strong in their concepts of POP and OOP respectively. So we need to follow the procedure to write the program in these languages. It increases the ability to understand the structure of these languages. Automatically, the programming tactics of languages are increased. I observed the same in this study. After learning Java in two months, I found C++ is very simple OOP language! Only, the thing was that I was using the combination of POP and OOP in C++. I was not using the OOP feature of C++, because, the solution was not forced. At actual, in Java, this was forced.

This happens many times in our life that we think in different way that it is actual. In such case we need a guide or we need to change the way. That I learned from these all.


  1. This is very true
    I think the programming is difficult to understand for beginners and when we understand some thing for the first time we stick with it for long time and could not think of any other approach so it requires push or some kind of accident to learn a new way though

    between I also required 4 years to switch between POP to OOP but the journey was exciting ...

  2. @ Atul,
    Only a software developer can understand the switching problems between technologies...


to: tushar.kute@gmail.com