Introduction
A Brief History
Here’s a quick history of how OOP came to be. I’ll skip over the early stages of analog computing and assembly language and start with programming languages that can run on any computer architecture, highlighting key milestones along the way.
Post-WWII, mainframe computers were mostly used for scientific and business computations. Minicomputers arrived in the 1960s, but they were still primarily employed in the professional sector. Apps as we know them didn’t exist until the rise of personal computers in the 1970s. Almost in parallel, object-oriented languages became mainstream and now dominate the mobile app development universe.
Around the middle of the 20th century, academic and industrial research groups began to develop programming languages for mainframe computers. IBM created Fortran for scientific computation, and a consortium created COBOL for business use. Both are still widely used. Originally developed as procedural programming languages, both eventually acquired object-oriented features.
In 1972, Bell Labs developed the C programming language to write utilities for the Unix operating system of the PDP-11 minicomputer and subsequently used it to rewrite the Unix kernel. C is a procedural programming language, but it’s the foundation for object-oriented languages like Objective-C, C++, C#, Java, Python, Ruby (via Perl) and Swift.
Kotlin’s predecessors include Java and C#. Objective-C and Ruby also inherited from Smalltalk — one of the first object-oriented languages, developed for educational use at Xerox PARC in the 1970s. Smalltalk used ideas from Simula, developed in the 1960s at the Norwegian Computing Center.
Why Should You Learn Object-Oriented Programming?
Object-oriented programming (OOP) has deep roots in computing history, standing almost shoulder-to-shoulder with procedural programming. The mainstream adoption of OOP languages coincided with the personal computer revolution in the 1970s, shaping the foundation for modern apps.
Today, languages like Swift and Kotlin, rooted in OOP, lead the charge in mobile app development. OOP doesn’t just offer an approach; it’s a boost to productivity and efficiency. With it, modeling your app’s data becomes intuitive, code redundancy reduces, and problem-solving turns more straightforward.
In this lesson, we’ll delve into OOP’s core components, its four essential principles, and its edge over procedural programming.