Scala není dynamicky typovaný jazyk, všechny proměnné mají v zásadě statické typy a třídy (generují se i z „obyčejných“ funkcí apod.) se překládají normálně do javovských .class souborů. Díky designu ale člověk ušetří spoustu „smetí“ – typová inference zhruba srovnatelná (ale lepší) s v C# verze 3, středníky jsou volitelné, od verze 2.6 podporuje strukturální typy… Zkrátka kód vypadá podobně jako u dynamických („skriptovacích“) jazyků.