rosfandy.me
principle

the OOP paradigms-nowadays

the ever lasting core fundamental of devs — i think.

2026-06-105 min readrosfandy
#conceptual
Share

the arts of how we see the worlds work through programming.

Did you ever think about how old people can be so good at something — like, linus torvald, the man behind git, who develop with no git or modern techs, and no AI of course. Which even still used until nowdays.

These people is so crazy at doing their jobs. They put all their efforts into it, just because they love to do it. But then, I realize that its not about how much efforts you put on it, but, it's about the process and the mindset.

the Process

Many people say that if you start with C, C++, or Java, it becomes easier to learn other programming languages later—and that’s often true. When I was in college, my first programming language was C++. Honestly, it helped a lot when I later learned other languages.

But how does that work? What’s actually different?

One big reason is that languages like C++ and Java don’t just teach you syntax—they introduce you early to the fundamental structure of how software is built, especially through Object-Oriented Programming (OOP).

OOP is often the “untold principle” behind many modern languages. Even if a language doesn’t force you to use it, the idea still shapes how programs are designed. At its core, OOP is about thinking in terms of objects instead of just functions or instructions. An object is something that bundles:

  • data (attributes)
  • behavior (methods)

For example, instead of thinking “I have a variable and some functions,” you think:

“I have a thing that has properties and can do actions.”

That shift in mindset is powerful.

the Mindset

OOP is not just a set of programming concepts such as encapsulation or polymorphism. It is something deeper—it is a paradigm, a way of thinking about how we break down something into an object model until it reaches its smallest parts.

C4 diagram
Source: miro.medium.com
This paradigm is the foundation of decomposition—the process of breaking complex systems into smaller, manageable parts. You can find it everywhere in software engineering: architecture design, design patterns, domain modeling, CI/CD pipelines, distributed systems, and more.

the Challanges

Today's learns programming very differently from previous way. In the past, learning often meant:

  • Reading documentation
  • Searching through forums
  • Spending hours on Stack Overflow
  • Debugging through trial and error
  • Struggling with compiler errors until you understood them

That struggle was frustrating, but these are the process which way more important. Everything is instant, nowadays. AI can provide answers fastly, instant—Instead of spending hours searching for a solution, you can simply ask:

"How do I implement authentication?"
"Why is this query slow?"
"Generate a React component for this UI."

the Trade-Off

Using AI is an incredible productivity boost, I also use AI, and nearly all coding jobs uses AI. But there is also a risk:

  • Learning implementation without understanding
  • Copying solutions without understanding the problem
  • Generating code without understanding the architecture
  • Solving local problems while missing the bigger picture

the Conclution

At the end of the day, programming is not about how fast you can ship code or how many AI prompts you can write. It is about how you see the world — how you break down complexity into smaller pieces, how you model relationships between things, and how you think about the systems you build.

OOP taught us that. Not because it is the "correct" paradigm, but because it forces us to see software as a collection of objects that talk to each other — much like how the real world works. The old developers who built git, Linux, or the web didn't have AI. They had this mindset — the patience to struggle, the curiosity to ask "why," and the discipline to understand the foundations.

AI is here to stay, and it is a powerful tool. But tools don't make the craftsman — the mindset does. Use AI to move faster, but never skip the process. Learn the fundamentals. Struggle with the problem. Understand the architecture.

Because the code you write today is not the art — the way you think is.

"The art of programming is the art of organizing complexity." — Dijkstra

Comments

Loading comments...