Object Oriented Programming doesn't need Encapsulation

Note: I use the term ‘Encapsulation’ as a language mechanism for restricting access to some of the object’s components. Others might call this ‘information hiding’.

Traditional Object Oriented Programming

In every object orientend programming course or book that I know, you get introduced to a concept called encapsulation. Encapsulation is a technique that allows you to protect implementation details while exposing only the interface. The advantage is that the rest of the code can only use the interface, and therefore is not dependent on the hidden implementation.

The thought behind the whole idea of encapsulation is that when implementing a class, you protect it against misuse. You make sure that the user can’t break it. You have total control over your class, and the user can only use that what you allow him to use. Another advantage is that providing a stable interface will protect implementation details that are likely to change, and therefore limiting interdependencies between software components. That is, it forces the users to do so.

Most Object Oriented programmers totally agree with all of the above, and I used to too. But that was until I met python. (more…)

Get motivated: Ralph Bakshi

As a kid I saw the animation movie Fire & Ice, and absolutely loved it. Back then I didn’t know the creator was successfully competing with a big corporation like Disney. You should definitely check out this video with the creator of that animation movie, Ralph Bakshi, on how to Read more…


Welcome to my brand new blog about how to create and sell your own games. I’ll provide you all the technical, business and marketing info you need for creating your very own game development company. My plan is to publish a step-by-step, ready to use guide on how to do Read more…