All about object-oriented programming—one of the great grandfathers of modern software development techniques—and fallacies of perception.

Introduction

Object-oriented programming is one of the great grandfathers of modern software development techniques.

Think about this. Term “Object-Oriented Programming” (OOP) was coined by Alan Kay in 1966 or 1967 while he was at grad school.! Lyndon B. Johnson was US president. Before email, cell phones, and other tech goodies which we have today. We wrote a lot of letters then. Someday, when I have indulged a bit too much I’ll probably get an OOP Tattoo.

I have recently read few articles which focus on the cons of using object-oriented design in building software and some of those were fun to read and that’s in its shows the passion of the author that he/she was able to write it in an easy to understand way. One particular example, I like was an analogy of a banana.

The analogy describes OOP as like, “if you ask for a banana, what you get is a gorilla, with a banana in hand and the whole jungle with it”.

some of those articles sometimes go a bit further and even almost convince you that most of the issues software struggle with are those of OOP designs, a typical remedy they suggest is to favor composition over OOP.

As much fun or emotional roller coster those articles are I do not fully agree with the theme that OOP is the problem. In this post, I would like to share my thoughts about OOP and also am very much interested in knowing your opinion as well on the subject matter.

What I think, is, first of all, the composition is also a style of doing OOP and it is just like arranging objects in a specific way, that’s all. All the OOP goodness still there and I think the real problem is not about using OOP in your software design but rather is a side-effect of applying it wrong or using it in a place where that piece of software is not yet ready to benefit from the true power of OOP.

#oop #developer

Object Orientation and Fallacies of Perception
1.70 GEEK