Smalltalk estas reflekta programlingvo, orientita al objektoj kaj kun dinamika tiparo. Pro siaj karakteroj, Smalltalk povas esti konsiderata ankaŭ kiel medio de objektoj, en kiu eĉ la propra sistemo estas objekto. Metafore, oni povas konsideri, ke Smalltalk estas virtuala mondo en kiu vivas objektoj kiuj komunikas inter si, pere de la sendo de mesaĝoj.
Sistemo Smalltalk estas komponita per: