Sunday, 26 January 2014

Just a way to organize code

            I first started learning Object Oriented Programming (OOP) in the beginning of Grade 12. I was excited since I was finally going to learn about this mysterious computer programming term that I had heard digital whispers about. I was eager to learn a new programming language and it came to my knowledge that my classmates and I would be learning Java! However, my first experience with OOP and Java was, simply put, overwhelming and confusing.

             Like almost everything in computer science, learning something new means learning a lot of new jargon. Combine this with the rough transition from english-esque python to slightly more cryptic Java; it’s fair to say that I had some work ahead of me. For some reason OOP seemed mysterious, there was something about it that I didn’t understand at first.  When I talked to some of my classmates, even halfway through the course, I would get the same question, “Yeah… but what IS object oriented programming!?”. The problem was, due to the excessive amount of new information and terms like; inheritance, object, instance, encapsulation, classes, fields, property, etc… something was lost. What exactly was Object Oriented Programming?

Object Oriented programming is JUST A WAY TO ORGANIZE CODE!  
     
Or, as Wikipedia more complicatedly puts it, “Object-oriented programming (OOP) is a programming paradigm that represents concepts as "objects" that have data fields (attributes that describe the object) and associated procedures known as methods”(this is the kind of language instructors should avoid).


I believe if the point is emphasized during an introduction to OOP, it would make the learning process easier and less intimidating for the students. After I understood this definition, any mystery and intimidation surrounding OOP was gone, and, as a result, learning OOP became a great deal easier. While this does help the learning immensely, I believe that the best way to learn is to implement OOP design, and write to your own code!

No comments:

Post a Comment