Object-Oriented Programming Basics

I am okay at python. I can use all the packages I know and quickly learn any that I do not. I have heard object-oriented programming (OOP) in the background a lot but it was not till recently that I took the time to fully understand why it is such an important development that forms the backbone of not only python but many other of the most popular languages.

What is coding like without OOP?

There are an array of non-object-oriented programming paradigms. Let’s look at a couple that do things the most differently.

Declarative programming tells a computer what to do and the logic that should guide it but does not define the control flow. This is like SQL, where you give a query, narrow it down with logical statements but depend on the computer algorithm to actually fetch the data.

Functional programming is completely tailored for executing mathematical functions. OOP has functions too but is not designed specifically to use their logic in an efficient manner. A Swedish language called Erlang was developed in the 1980s and is what a lot of communication applications like WhatsApp are programmed on. Rather than be defined in terms of objects, Erlang is defined in terms of processes.

So what defines OOP?

The Interview Question

Abstraction

Encapsulation

Inheritance

Polymorphism

Criticisms of OOP

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store