Uma das primeiras linguagens de programação orientada a objetos (oo) foi o Smalltalk, o grande diferencial entre Smalltalk e a maiorias das outras linguagens oo é que tudo na linguagens são objetos, inclusive if, while e for não são comandos, são métodos por mais incrível que isto pareça.