Smalltalk è un linguaggio di programmazione orientato agli oggetti con gestione dinamica dei tipi e con un paradigma di programmazione riflessivo. « Un programma in Smalltalk è una descrizione di processi computazionali dinamici. Il linguaggio di programmazione Smalltalk è una notazione per la scrittura di tali programmi.