2.31. Smalltalk

Smalltalk er et typefrit sprog. Det betyder ikke at der ikke er nogle datatyper eller at objekter ikke har nogen type. Det betyder blot at de navne (variable, parametre m.m.) man refererer til objekter med, ikke er bundet til en bestemt type. De betegner altså objekter hvis typer ikke er kendt. Det eneste man kan gøre ved et objekt, er at "sende det en besked" (kalde en metode der opererer på objekter) og grundlæggende er den eneste fejl der kan opstå i den sammenhæng at objektet "ikke forstår beskeden" (metoden ikke findes), og der dermed opstår en fejl under kørslen af programmet.

Smalltalk er et egentligt objektorienteret sprog hvilket gør det meget anvendeligt til implementation af rent objektorienterede systemer. Til gengæld gør det at Smalltalk udelukkende arbejder med referencer til objekter og ikke giver adgang til "direkte" håndtering af objekter, at sproget ikke er velegnet til udvikling af lavniveausystemer hvor det for eksempel typisk vil være nødvendigt med langt mere direkte styring af hvad der sker i hukommelsen.