My Reply To: The Case Against OOP Is Wildly Overstated

It took me personally more than a decade of programming, to walk up and down the developer experience ladder:

  1. Just make it work and learn some principles along the way
  2. Make it work, but follow the principles at all costs
  3. Don’t care if it doesn’t work, blindly follow the principles, regardless.
  4. Punish others who don’t follow the principles
  5. Why are principles stepping in my way all the time? Wasn’t I supposed to make something that works?
  6. Learn how to use principles sparingly. Pragmatically focus on making something that works instead.
  7. Just make it work.

Problem Origin

Where am I going with this? Like all principles, the idea of Object-Oriented Programming (OOP) originated as a way to guide programmers on how to solve a particular problem, not as the only way of solving all problems. The fact that developers occasionally get burned by using it has little to do with OOP, as it has with the human brain’s stubborn pursuit of making problems simpler than they are. Of making them fit into a one-size-fits-all shoe box.

At the time of OOP’s origination, codebases started growing in size and complexity. The concept that we nowadays refer to as technology XYZ’s Standard Library or SDK didn’t exist yet. For those to be developed without hundreds of duplications, the need arose for ways to encapsulate common logic and data. That is how classes were born (encapsulation). Classes allowed multiple independent instances (objects) to interact with each other, sharing common functionality through their ancestors (inheritance). To further ease the reuse of code, one provided ways for safely working with objects, without explicitly knowing about the implementation behind their behaviors (polymorphism).

OOP quickly took the programming world by storm and allowed many of the foundational technologies we rely upon today to get built. It was the pivotal point that led some to believe that it could become the solution for all programming problems.

#software-design #object-oriented #oop #design-patterns #programming

What is GEEK

Buddha Community

My Reply To: The Case Against OOP Is Wildly Overstated

OOP course content in C# | OOP in C# Part-1

#oop #oop in c# #basic oop #c# oop tutorials #oop concept in c#

Basic OOP with Class and Objecct | OOP in C# Part-3

#oop #basic oop #oop in c# #c# oop tutorials #oop concept in c#

Constructor in C# | OOP in C# Part-9

#oop #basic oop #c# oop tutorial #oop in c# #oop concept in c#

Properties in C# | OOP in C# Part-7

#oop #basic oop #oop in c# #c# oop tutorials #oop concept in c#

Class and Object in C# | OOP in C# Part-2

#oop #oop in c# #basic oop #c# oop tutorial #oop concept in c#