Learn Object-Oriented Programming in about a week!

Learning should be fun and quick; no need to spend ages in just one single course.

Start learning  

#37 Programming
9 mins   /

Some nice books on object-oriented programming (OOP)

Finding good books to read ain't easy business. Fortunately, you don't have to do grunt work to find good books on OOP.

There are a handful of paradigms of programming. In software engineering, perhaps the most well-known is object-oriented programming (OOP), which is based upon the idea of objects.

Object-oriented programming is a great skill to add to one's repertoire because modern-day software heavily uses it and secondly because it certainly has a lot to learn in it.

In the following discussion, I share with you some nice books that I read on OOP and that I found genuinely worth recommending. The listing progresses in order from most favorite to least favorite (in this collection, not least favorite book in general).

99 Bottles of OOP (2nd edition)

99 Bottles of OOP front cover.
99 Bottles of OOP front cover.

If I were to recommend you only one book to buy in order to develop a better grasp of abstracting and working with OOP systems, it would be 99 Bottles of OOP (2nd edition). (Nice name, isn't it?)

While this book doesn't teach you the core principles of OOP — that is mostly assumed knowledge — it does teach you how to produce better OOP systems and how exactly to avoid over-engineering solutions to problems. This is, in my opinion, an elegant book that must be on the shelf of every single object-oriented programmer.

Plus, as a side bonus, you get to learn Ruby, a popular scripting language. Learning multiple languages is always a great thing for a programmer because it makes you mature and well-aware of the wider programming landscape.

PHP Objects, Patterns, and Practice (5th edition)

PHP Objects, Patterns, and Practice front cover.
PHP Objects, Patterns, and Practice front cover.

PHP is a language not considered by many (that's not me!) as powerful enough for complex stuff, such as object-oriented programming. However, Matt Zandstra isn't in this club — he readily advocates the prowess of PHP in his book PHP Objects, Patterns, and Practice (5th edition).

What I really like about this book is that it first dives into exploring all the OOP fundamentals in PHP and then gets you ready to go through a sea of useful design patterns in OOP, something which is inevitably important for anyone wanting to tap into OOP.

Overall, I think that this book is a great read, one which'll surely allow you to expand your skillset in both, OOP and PHP (if you will).

The Object-Oriented Thought Process (5th edition)

The Object-Oriented Thought Process front cover.
The Object-Oriented Thought Process front cover.

If you're completely new to object-oriented programming, then The Object-Oriented Thought Process (5th edition) is a good book to start from. Why do I say that? Because it helps you build that OOP mindset that is kind of a prerequisite before you go on to implement OOP systems.

Of course, you need a good OOP design before you can move to development and this book certainly helps you learn some parts of how to produce that design effectively. I've personally read a large part of this book and while I do feel there's room for improvement at multiple instances, it's overall a nice book to consider.

Elegant Objects

Elegant Objects front cover.
Elegant Objects front cover.

Time for dogma. What? you say. Well, the book Elegant Objects has received a good amount of criticism for its domatic beliefs and arguments. Now, before you yield to these criticisms and keep yourself from reading this book, I urge you to think again and do the opposite — read it.

It's very important for you to read the book at least once and find out yourself whether you agree with the book or not. Maybe you'd like some beliefs and maybe dislike others. I myself feel the same way — liking some and disliking some (actually many).

But nonetheless this still is another good book to read in order to better understand the OOP ecosystem and the issues that come along when designing in OOP.

Learn object-oriented programming

Honestly, while learning from books is something I hands-down recommend and do quite a lot myself, when you're new to a topic, choosing a good book can be a daunting process. Plus, most books can't really be completed in around a week and so you're left to read, read, read and probably devote a whole month to learn something.

What on earth are you talking about? Let's get to the point. I've prepared a mini course on object-oriented programming, teaching it from scratch and covering all the essentials of OOP. You know things like: classes, encapsulation, inheritance, and polymorphism — everything essential.

Get started learning today and get done with it in around a week. No need to devote months and months for just learning one thing. (How's that?)

Bilal Adnan

Hi there! 👋 I'm the founder of Codeguage — basically the guy who's trying to make life easy for absolute beginners entering into computer science. You can follow me on LinkedIn or Medium to stay up-to-date with my conversations.