Sunday, January 26, 2014

Object-Oriented Programming

    According to the article that was posted on the course home page, Python is an object-oriented programming language, which means that it provides the features that supports object-oriented programming. Some other programming language like C++ and Java which we are going learn in the next few years, are also contain this features, So learning how does object-oriented programming works becomes more important for us.
    In the pass three weeks, I have met many new materials of computer science in the csc148 course. In the lecture, we have talk about the type Class of python which is where we stop in the csc108. We also talk about the abstract data type, or ADT, for example, the type Stacks which was presented by the professor Heap is a ADT. In the tutorial, we have been given a chance to practice to crate a OOP Class, and how to improve its efficiency. Although I have when to all the lectures and tutorials but I feel that my knowledge on the object-oriented programming is very unstable. 
    We have started learning about the object-oriented programming at beginning of the semester, until today, it have been three weeks, but the idea of this object-oriented programming is still very blear for me. I know that it can make programs more flexible and increase its maintainability, but I don't know how. I know that compare to the materials we have learned are the procedural programming but don't know the difference between this and object-oriented programming. I know that the goals of object-oriented programming are increase understanding, ease of maintenance and ease of evolution (according to wikipedia), but don't understand how does it accomplish those goals. 
    The friends of my who are also taking this course seem very comfortable with those contents, which makes me very nervous, wish I can catch up with them in the next few weeks.