Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.
Indický kolega samozřejmě nepíše javu ve vimu, takže na dvě kliknutí řekne IDE, aby mu vygenerovalo předpisy metod, které má z generického řešení implementovat, již s jejich konkrétními datovými typy. Pak jen dopíše těch pár řádků, kterými se jeho konkrétní implementace odlišuje v rámci generického designu. A je úplně jedno, že se mu při tom na úvod automaticky přidalo deset importů a že výsledná třída má 50 řádek, když on napsal řádky čtyři. Není blázen, aby scrolloval zdrojákem, když od toho má navigaci mezi voláními, skoky na definice/deklarace. Je celkem jedno, jak dlouhé jsou typy parametrů metod či proměnných, když nic z toho nikdy nenapíše, protože to IDE vytvoří rovnou za něj a vždy správně , má to jen jednu variantu (příp. si zvolí, kterého vhodného předka/úroveň zobecnění chce použít). Kolega jen píše příkaz a pak zadá název proměnné, pokud se mu žádný z nabízených názvů nelíbí (obvykle hned ten první je logický a správný).
Inkrementálně označí funkční blok klávesovou zkratkou a na jednu kombinaci nechá IDE vygenerovat metodu se všemi parametry - má garantované, že taková operace bude vždy fungovat správně. Jen si třeba triviálně změní pořadí parametrů, aby to sedělo zavedené štábní kultuře projektu. Nemusí se obávat, že by se změna neprovedla v jakékoliv volání metody, i kdyby to bylo ve sto různých třídách, je to úplně jedno. A bude se pokud možno vyhýbat více parametrům stejného typu vedle sebe, právě aby se vyhnul chybě přehození parametrů stejného typu, až tu metodu bude volat na jiném místě ručně. Až bude java umět hodnotové typy (projekt valhalla), bude šance podstatně menší, protože i základní typy bude mít označený jejich významem a nebude je možné míchat.
A nebo bude používat args a kwargs a šedivět, co se zase kde rozsypalo. Ba ne, nebude, to to raději nechá načuněné ve špagetě (protože první verze kódu není nikdy optimální) nebo s nesmyslným názvem (protože se během psaní metody význam té proměnné trochu změnil, opět zcela normální). A kdo říká, že takové změny ve svém kódu (obzvláště prvních verzích) provádět nepotřebuje, buď nic většího neprogramuje, nebo produkuje čuňárny. To mi nikdo nevymluví, viděl jsem to mnohokrát.
Můj názor na python ve velkých firmách je takový, že začali ve startupu v malém, logicky v pythonu a pak už neměli prostor to přepsat do něčeho, co jim v projektu dokáže udržet pořádek. Proto třeba mypy pochází z dropboxu
https://blogs.dropbox.com/tech/tag/mypy/===
At our scale—millions of lines of Python—the dynamic typing in Python made code needlessly hard to understand and started to seriously impact productivity. To mitigate this, we have been gradually migrating our code to static type checking using mypy,
===