Understanding Objects

Tom Stuart


Ruby is bursting with objects! Objects are so common in modern programming languages that it’s easy to take them for granted and overlook their radical intent. So what are objects really for, and how can we exploit them to dramatically improve the design of our programs? This talk will literally tell you.


This is a talk about object-oriented design. It focuses on a single “grand unified theory of objects” which can be used to systematically understand much of the miscellaneous folk wisdom about OO design, as well as to make practical, everyday design decisions while writing OO programs.

It’s suitable for all ability levels — beginners will understand the ideas, and experienced developers will find something new. The audience will leave with a simple, clear understanding of the core benefits of objects, and a new way of looking at the organisation of knowledge in their OO programs.


This talk should be considered because it provides a simplifying mental framework for understanding the overwhelming amounts of advice on object-oriented design. By explaining and exploring a single core idea, it will help people to feel confident and empowered when writing OO code.

I’m qualified to speak on this topic because I’ve been using Ruby for a long time, and object-oriented programming languages for even longer. I’ve taught classes on OO design and make a living by helping people to improve the design of their OO programs.

Edit proposal


RubyConf AU 2017 - Rejected [Edit]

Add submission