Tak spousta věcí už dnes jde dobře i v tom Pythonu ošetřit. Třeba zmiňovaný problém s parametry funkce (např. 2-krát int) ve skutečnosti málo kdy nastává. Většinou to jsou dva jiné typy např. váha, výška. Pro to se dá v Pythonu udělat buď alespoň typový alias nebo zcela nový typ (namedtuple, dataclasses atd). Jednoduché, ale přesto se to musí pořád někde připomínat, protože maintreamové jazyky jako Java a dnes už i Python k tomu přirozeně nevedou. Ostatně celý Domain Driven Design se mnohem lépe implementuje např. v F# než v C# nebo dokonce Idris
https://github.com/andorp/order-taking (zdravím Idrise)
Jinak souhlasím, že silné/slabé typování je sice dosti vágní rozdělení, ale mnohem důležitější než dynamické/statické.
Spousta dynamických jazyků se dá nějak staticky zkontrolovat, pokud k tomu mají aspoň nějak zpracvaný typový aparát.
“Dynamic typing is but a special case of static typing, one
that limits, rather than liberates, one that shuts down
opportunities, rather than opening up new vistas. Need I
say it?” — Bob Harper