Object Oriented Programming image

How Long It Takes To Learn Object Oriented Programming

Avatar of Damla

Is the developer and the main researcher of HowLongItTakes.com

1 Months
Waiting for more votes

It took me Months Weeks to Learn Object Oriented Programming

Object Oriented Programming is a programming methodology that is designed for mapping real world scenarios and objects into an algorithmic solution. Because of this, learning the basics of OOP should be relatively natural to you than other paradigms such as functional programming.

Main idea behind using OOP is to simplify the abstractions when you are developing a solution for a real world problem. Since, in real world everything around you is actually objects (or concepts that can be thought as objects). And in order to come up with a good object oriented design, you will need to analyze the problem or the real world system. It sounds easy but here is where the design becomes an “art”. Like any other form of art, your ability to design maintainable, extendable and understandable system increases with practice and learning from other artists.

Learning to code in an Object Oriented Programming Language won't take a lot of time if you already know the basics of programming. After spending 1 month, you should be proficient enough in your language of choice. However, you shouldn't worry if you are a beginner in programming. Actually, most of the world class universities started using a high level, object oriented language like Python or Java to teach programming to freshmans. If you are new to programming you should check our Learn Programming article.

Moreover, you will need to express your design to other people. Luckily there are some commonly used and proven ways to do it. You may want to learn a modelling language, like UML to draw diagrams to show your design. In the case of UML, you don't need a lot of time to learn the basics. 1 day of self training should be enough to cover the basics of it. Drawing the Class Diagram of the overall design and Sequence diagrams for some non trivial use cases will help you in many ways. You will see the missing parts and flaws of your design, you can communicate with other people and get their opinion, you can simplify the actual coding and most importantly it will be a future reference and will be very beneficial when you are extending the system or trying the remember what you have done after a while.

Yet, if you want to be a good designer, there are a lot more to cover. To begin with, you will need to learn the most used design patterns. These patterns are developed by people to solve some common problems. Learning these patterns will also help you not to fall in common pitfalls. Some of these software design patterns are well known and famous. For example, patterns designed by the people known as Gang Of Four, are the basic ones and being taught in almost every software design course. Whether or not you want to be master in software design learning these design patterns will make you a better programmer. So, it is probably a good idea to study some patterns for about a week.

All in all, time required to be master in Object Oriented Programming will depend on your your determination and willingness to practice but you may get the grasp of it in about 1 month.


Any Comments or Questions?