Architektura Smalltalk pracuje pod kontrolą maszyny wirtualnej – tzn. pod kontrolą abstrakcyjnego komputera, który może zostać zaimplementowany na różnych platformach. Program smalltalkowy jest tłumaczony na język tej wirtualnej maszyny, która alokuje zasoby konkretnego systemu, i dlatego jest on niezależny od platformy docelowej, na której będzie uruchamiany.

Koncepcja wirtualnej maszyny i pełna obiektowość Smalltalka umożliwiają automatyczne zarządzanie pamięcią – obiekty smalltalkowe nie muszą być jawnie usuwane z pamięci po zakończeniu ich pracy. W tym celu maszyna wirtualna posiada tak zwany Garbage Collector, który samodzielnie i efektywnie rozpoznaje, które obiekty nie są już używane i odzyskuje zajmowaną przez nie pamięć.

Historia Smalltalk został rozwinięty w latach 70. i 80. w laboratoriach firmy Xerox (Xerox Palo Alto Research Center). Język został zaprojektowany tak, aby połączyć dużą czytelność kodu z wszechstronną funkcjonalnością i elastycznością.