Jedním z nejdéle trvajících rozporů v programování je statické versus dynamické typování. Během celé své kariéry jsem slyšel milion argumentů z obou stran, ale jen málokterý z nich někoho přesvědčil o něčem. Racionalizace vydávající se za rozum se v otázkách víry jen zřídka objevují. Jezdec vždy ospravedlní cestu slona. To neznamená, že nejsou lidé, kteří změnili tábor. Ve skutečnosti tito jedinci obvykle křičí ty nejhlasitější racionalizace ze všech. Často s půvabem celoživotního všežravce, který náhle přejde na veganství, nebo tradičního bankéře, který měl štěstí na kryptu. Čím kratší víra, tím jasnější plamen. Osobně jsem bez studu typ člověka, který má rád dynamické psaní. Proto mám Ruby tak moc ráda. Plně využívá dynamické typování, aby umožnila poetickou syntaxi, která vede k tak krásnému kódu. Pro mě by Ruby s explicitním, statickým psaním byla jako salát s kopečkou zmrzliny. Prostě k sobě nepatří. Také přiznám, že jsem v minulosti přijal evangelikální postoj k dynamickému typování. Až do té míry, že trpí onemocněním One True Proposition. Nedostatek nadšení pro dynamické psaní na klávesnici vnímá jako odraz chybějícího vzdělání, zkušeností nebo možná i kompetencí. Ach, jaká bláznovství. Jako když se snažíte přesvědčit introverta, že by se mu opravdu líbily večírky, kdyby se jen trochu uvolnil. Že je vlastně zábava být hodiny v přeplněných místnostech a křičet, abychom komunikovali, protože co třeba ta NÁLADA! V poslední době jsem si začal vážit velkoleposti mnohosti. Programování by bylo hrozné, kdybychom byli všichni omezeni na stejný paradigmat. Lidská přirozenost je příliš rozmanitá na to, aby přijala takové omezení své kreativity. Dokážete si představit, kdyby veškeré výtvarné umění muselo být ztvárněno ve stylu kubismu? Nebo realismus? Nebo všechny romány napsané krátkým, přímým Hemingwayovým stylem? Jaká by to byla nuda! Zničilo by to kouzlo programování. Tato jedinečná fúze umění a inženýrství. Ale chvíli mi trvalo, než jsem k těmto závěrům dospěl. Jsem zotavující se řešitel. Takže když vidím lidi, kteří s úžasem překříží srdce, že by někdo kdekoli, kdekoli, mohl mít zájem o JavaScript místo TypeScriptu, usmívám se a vzpomínám na dny, kdy jsem jejich zápal poznal v zrcadle. To neznamená, že všechny aspekty programovacích přístupů se shrnou na stejné, ale odlišné myšlení. Tento relativismus má své limity. Ale dynamické vs. statické typování je v rámci svých hranic jisté. Stejně tak funkční vs. objektově orientované programování. Póly na obou těchto ose se v průběhu desetiletí ukázaly jako vynikající software (a také hrozné věci!). Dnes jsou lidé obdařeni schopností vyjadřovat se stejně dobře z obou stran. Taková obouručnost se však zdá být vzácná, jak dokládá naprosté nevěřícnost, kterou tak často vyjadřuje obě strany, že by druhá strana mohla zastávat rozumný postoj. Nejsem obouruká. Statické psaní mě nebaví a objekty mi oživují mysl. Ale začal jsem oceňovat, že ostatní osvětlují svou kreativitu stejně intenzivně jako já, používají omezení funkcionálního programování a explicitně vymezené typy. Pokud nikdy nebudu muset zahánět svůj Ruby typovými nápovědami nebo psát veškerý front-end kód v TypeScriptu, mohu s radostí koexistovat s těmi, kdo Go milují nebo nemohou vystát JavaScript. Ať žije rozdíl!