Smalltalk fue creado en Xerox PARC en los años 70 y fue el primer lenguaje orientado a objetos. Smalltalk consiste únicamente de objetos que se comunican mediante el envío de mensajes. Los objetos Smalltalk tienen características como memoria propia, capacidad de herencia y comunicación, y son instancias de clases. Smalltalk también tiene características como tipado dinámico, recolección de basura, y compilación/interpretación en tiempo de ejecución. Existen varias implementaciones comerciales y de código abierto de Smalltalk.