Počas behu programu neviete, resp. nemáte istotu, čo dostanete na vstupe. Jediný rozdiel je, že pri hodnote nesprávneho typu staticky typovaný spadne, dynamicky typovaný zas môže pokračovať, ale najskôr nekorektne.
Ani jedno, ani druhé však nie je riešenie, ani pád, ani nesprávne fungovanie. A tak si v oboch prípadoch musíte sami, "manuálne" overovať typ.
Preto kde je tá ohromná výhoda statických typov? Že sa neuklepnem v development time? Veď to sa nemusím ani s dynamickým. A unit testy musím písať tak či onak.
Takže so staticky typovaným jazykom asi budem vyvíjať o niečo pohodlnejšie, ale ak viem čo robím, ani s dynamickým typovaným to nebude žiadna tragédia. Hlavne nevidím nič pravdy na tom, že sú staticky typované jazyky principiálne lepšie od dynamických.
A krátkozraké vyjadrenia od zjavných amatérov bez praxe, typu: "so staticky typovaným jazykom ani unit testy nie sú potrebné", to je úplný nonsens - ktokoľvek s praxou na čomkoľvek väčšom vie, že bez testov sa v tíme zaobísť nedá, že to by bolo veľmi tragické rozhodnutie.
Takže o čom to tu vlastne točíte? O tomto, že staticky typované jazyky sú lepšie? Iste, väčšinou sa s nimi bude robiť o niečo lepšie. Ale že dynamicky typované sú zlé, resp. úplne nefunkčné? Ani náhodou.
To je celé. Oboje nakrásne funguje. A že nejde s dynamicky typovaným jazykom dosiahnuť presne to isté, ako so staticky? Jasne. Len sa tu strápňujete, keď sa to silou mocou snažíte zrovnávať. Veď ani staticky typovaným nedosiahnete presne to isté, ako s dynamickým. No a? Veď to je pointa. Ale vy tu napriek tomu miešate hrušky s jablkami - dynamické so statickými, funkcionálny s oop prístupom a hádate sa o naprostých zbytočnostiach.
A prax - je fajn, že vieš Smalltalk, ale nemáš zamestnanie, lebo na minoritné jazyky v praxi sere pes. Ani s Go, ani s Rust dieru do sveta neurobíš a v ponukách si nemáš šancu vyberať. Nadávať na Java/PHP/JS je možno v móde, ale nezamestnanými, keďže pracovné ponuky sú hlavne o nich, o tých škaredých, nefunkčných, lopatám a bastličom určených jazykoch. A radšej zazobaná lopata, ako nezamestnaný "akademik na roote".