LogoJuan Manuel Allo Ron

Teach Object Oriented Programming, the Steve Jobs way

By Juan Manuel Allo Ron on Nov 9, 2015

I had taught Object Oriented Programming to first year students in the University and explaining them OOP is always a challenge. The irony is that OOP is how we naturally see things, but students usually start learning programming in a procedural fashion and, once they are used to one way, switching their minds can be hard.

I think a great way to explain it is the way Steve Jobs did in 1994, when the Rolling Stone made an interview with him. All the quote is worth reading so, I am adding it as it is:

Objects are like people. They’re living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low level, you interact with them at a very high level of abstraction, like we’re doing right here.

Here’s an example: If I’m your laundry object, you can give me your dirty clothes and send me a message that says, “Can you get my clothes laundered, please.” I happen to know where the best laundry place in San Francisco is. And I speak English, and I have dollars in my pockets. So I go out and hail a taxicab and tell the driver to take me to this place in San Francisco. I go get your clothes laundered, I jump back in the cab, I get back here. I give you your clean clothes and say, “Here are your clean clothes.”

You have no idea how I did that. You have no knowledge of the laundry place. Maybe you speak French, and you can’t even hail a taxi. You can’t pay for one, you don’t have dollars in your pocket. Yet I knew how to do all of that. And you didn’t have to know any of it. All that complexity was hidden inside of me, and we were able to interact at a very high level of abstraction. That’s what objects are. They encapsulate complexity, and the interfaces to that complexity are high level.

  • Steve Jobs

Catch up with me on X (twitter):@juan_allo

Object oriented programming


X Facebook Y Combinator LinkedIn Reddit Email


Similar Articles

Robert Fabricant Quote

May 24, 2015

Design is a Process

Oct 28, 2014
Design is a process – an intimate collaboration between engineers, designers, and clients.


Nov 30, 2015
“Great microinteractions design requires understanding the people who use the product, what they are trying to accomplish, and steps they need to take.” Microinteractions by Dan Saffer (O’Reilly) 
A screenshot of my new blog in a floating laptop

Revamping my blog with Astro

Apr 13, 2024
I've decided to move from Wordpress to a custom setup. I'll share why I made this choice and the insights I've gained in this blog post!

@2024 Juan Manuel Allo Ron. All Rights reserved