je dobré znát ne dva až tři jazyky, ale především dvě až tři paradigmata
V tom je prave dobry python, protoze ti umoznuje jednotliva paradigmata podle potreby prirozene kombinovat.
Tak to se podle mě velice tragicky mýlíš. Pokud chceš nějakému paradigmatu porozumět, musíš si ho vyzkoušet pokud možno v čisté podobě. Protože jenom ta tě donutí opravdu použít daný přístup a neuhýbat jinam. Tj. pokud funkcionální, tak Haskell, ne Scalu. Na Haskellu pochopíš, o co jde, a pak v praxi už můžeš vzít tu Scalu, protože to může být ze spousty důvodů praktičtější.
Ne, Python opravdu není "multiparadigmatický", to je marketingový blábol. Ono v principu vůbec nic takového jako "multiparadigmatický" neexistuje, protože ta paradigmata jsou právě o tom, co ti jazyk nedovolí udělat, ne o tom, co ti dovolí. Když něco z principu nejde -> máš jistotu, že k tomu nedošlo -> máš zaručenou informaci.
Za druhe ruzne paradigmata jsou uzitecna, ale nepotrebujes si kvuli tomu povrchne hrat s hromadou prakticky nevyuzitelnych jazyku.
Potřebuješ, protože žádný jiný způsob, jak jim porozumět, neexistuje.
Moje zkušenost:
Když jsem se dostal k Haskellu a začal jsem ho zkoumat, zažil jsem tolik aha momentů jak nikdy.
- že se dá psát úsporně
- že se dá psát smysluplně
- že typy dokáží extrémně pomáhat (a to jsem ještě nevěděl nic o závislostních typech)
- pochopil jsem typy (a že to co má Java a spol je výsměch)
- co to znamená zapouzdření
- co to znamená funkcionální
Pak jsem se vrátil k těm normálním business jazykům, které mě živí, a dost drsně to změnilo můj spůsob programování.
Čas od času zkouším něco v Pythonu. Většinou je to takové jakože dobré. Ale nikdy jsem se od něj nic užitečného neodnesl. Snad jen odsazování jsem si díky němu zamiloval. A čím více ten projekt rostl, tím víc mě Python rozčiloval - že sice má mnohé možnosti, ale vůbec, ale vůbec nepomáhá.
Pak se objeví vždycky nějaký chytrolín, který mě setře, že jsem jen nepochopil tu úžasnou filozofii. A když ho požádám o vysvětlení, tak jen, že to bych nepochopil.