Jako starý Pythonista...
Mohu tě požádat o odpověď na mou otázku?
Důvody pro použití dynamických typů:
1. za běhu měnitelný systém (znám jen Erlang)
2. prototypování (takové to, když potřebuješ jen něco zkusit, a upřesňovat to budeš pozdějc)
3. neumím, nebo jazyk neumí typy
Doplníš další? (Kromě těchto scénářů nevím o ničem, kdy by netypování (př. dynamické typování) bylo užitečné.)
No já Ti raději povím svoji historii; když nepočítám Basic a Pascal a úkroky stranou typu FoxPro, vyšel jsem programátorsky z C a C++. V C byla perfektní široká škála funkcí, které oproti Pascalu umělo (práce s řetězci atd.) Jenže celou dobu mě trápilo dřevácké strukturování programů, explicitní alokace atd. C++ bylo podstatně hezčí, v té době ještě takové to staré s klasickými pointery atd., ale už to umělo aspoň reference a spousta věcí tam byla příčetnější než v C. Pak jsem koketoval s Javou - v době šílených nestabilních IDE typu Xelfi a microsoftí snahy ukrást celou platformu pomocí J++. Šílené obstrukce okolo načtení kousku souboru, to API bylo neskutečně hnusné.
V Linuxu byly dva jazyky, které mě zaujaly - Perl, který mi vždycky přišel trhlý a Python, který měl jenom "trhlou" syntaxi. Měl ale vizi, programy v něm psané byly celkem elegantní a čitelné a člověk se nemusel mazat s nějakým hloupým mallocem a callocem atd. Nějaká ideologie kolem mě trochu oslovila, ale to bylo spíš mladické poblouznění.
Takže zpátky k výhodám Pythonu - čitelnost, dobrá komunita, batteries included, v jazyku se cítím docela přirozeně. Pro prototypy je celkem super a i větší věci se v něm dají dělat, ne že ne. Dobré je, že můžeš mít kolekce s různorodými prvky, prostě se s tím hezky pracuje a zároveň se vždycky můžeš vyptat, co je ten prvek zač a podle toho s ním naložit. Prostě hezká hračka, lego, které se dá použít i na praktické věci. Mám ty výhody zobecňovat? Perl nesnáším, Ruby nemusím, Smalltalk je úplně jiný svět, PHP beru jako praktický nástroj, ale jinak mi taky nejde moc od ruky.
Co se mi líbí:
1. Neukecaná syntaxe - to ale řeší i typová inference apod.
2. Vysokoúrovňové idiomy a datové struktury - to je ale obecný trend a není to statická ani dynamická věc
3. Automatická správa paměti (ať už jde o RC, GC nebo paměťový model a la Rust)
4. Kvalitní knihovny
5. Dobré nástroje pro organizaci kódu - moduly, balíčky apod.
Python mnohé z toho splňuje, jiné jazyky taky. Dynamické typování nepovažuju za takovou výhodu. Python to dělá takhle a docela mu to jde. Jiné jazyky to umí jinak. Kdybych si mohl svobodně zvolit jazyk, šel bych spíš cestou Rustu/Scaly/Haskellu/F#. Python mě živí, umím ho nejlíp a často je to pragmaticky správná volba. Ale z dynamických vlastností nedělám fetiš, na těch to nestojí. Spousta věcí se díky nim dá spíchnout skoro "zadarmo", jenže má to samozřejmě dlouhodobé náklady. Důležitý je proces a produkt. A svět programovacích jazyků se vyvíjí k lepšímu - i Python.