ifacethoughts

It Is Difficult To Teach OOP

Jeff Atwood explains most of the reason behind it. Using OOP for the Hello World applications defeats the purpose. It is important to use real world problems to illustrate the true benefit, and hence the true usage, of OOP.

The other problem is that the class it not about OOP by itself, it is about C++. In my opinion, it is important to separate these two and understand OOP from a language agnostic perspective. And this creates the second hurdle, because students want to jump into programming, they are not patient enough to understand before programming.

Jeff mentions the other problems with OOP too, mostly related to using it for namesake. I think the core problem is the fact that enough time is not given to designing, and OOP is more about design than coding. Taking some time away from the computer to design can help in embracing the less is more paradigm. The other problem, as I had mentioned earlier, is lack of knowledge of the design principles. Reading thoughts of experienced programmer can also help a lot, especially if they are some of the most influential people. Using the invariant philosophy to design classes can result in simple and reusable design. Of course, all this cannot be done at the time of coding, it is important to dedicate time to design.

Discussion [Participate or Link]

  1. Rune Juhl-Petersen said:

    Like you say: maybe the concept of OOP doesn’t make sense. OOD is what matters.

  2. Abhijit Nadgouda said:

    Rune, it is quite true that the biggest benefit of OO is in the design. However, the concepts do matter a lot, but unfortunately their benefits cannot be justified unless an appropriate example is considered.

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
Y!: anadgouda
GTalk: anadgouda@gmail.com
MSN: anadgouda@hotmail.com
Skype: anadgouda
My bookmarks

currentproject

Complete Wellbeing

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.

Twitter - Using Envy Code R and liking it. Thank you Damien. http://tinyurl.com/688mft