Zrovna čtu knížku, jejíž název zní tak ezotericky, že se až stydím ho prozradit. O nic nepřijdete, knížka je poněkud suchopárná a moc dobře se mi nečte. Jedna kapitola mě ale zaujala. Začíná historkou o geniálním krejčím Levinovi.
Levin byl krejčí. Dokázal ušít oblek lacino. Nicméně když si ho zákazník přišel vyzkoušet, zjistil, že je mu velký v zádech. Nevadí, řekl Levin a ukázal mu jak se nahrbit, aby to tak nevypadalo. Ale co pravý rukáv, vždyť je o tři palce delší. Nevadí, řekl Levin a ukázal mu jak se nahnout na stranu a natáhnout ruku, tak aby byl rukáv akorát. A co kalhoty, vždyť je levá nohavice moc krátká. Nevadí, řekl Levin a ukázal zákazníkovi jak vytáhnout nohu v boku tak, že pak kulhal. Ale oblek mu dokonale sednul. Zákazník si to tak kulhá domů a cítí se trochu podveden. Když v tom ho potká neznámý muž a ptá se ho, jestli je to nový oblek. Jistě proč se ptáte. Ále sháním také oblek. U koho šijete? U Levina. Díky zajdu k němu, musí to být génius, když dokáže ušít padnoucí oblek na mrzáka jako jste vy.
Ptáte se proč píšu takovouto historku na blogu, který se normálně zabývá programováním? Musím ocitovat autora, pana Geralda M. Weinberga.
Nevíme jestli jsou designéři programovacích jazyků géniové nebo jsou obyčejní programátoři mrzáci. Obecně řečeno, to jak je náš současný programovací jazyk špatný zjistíme, až když konečně překonáme psychologickou bariéru a naučíme se nový.
Doba se hodně změnila od roku 1969, kdy autor knihu psal, ale připadá mi, že tvrzení stále platí. Rozhodně se to vztahuje na frameworky. Hrozně neradi se učíme nové, ale když překonáme tu bariéru, a naučíme se nový, zjistíme, jak byl ten starý špatný. Že jste museli dělat spoustu podivných věcí, jen abyste mu vyhověli, aby váš kód fungoval. Schválně se zkuste vrátit ke starším technologiím.
No a možná to dokonce stále platí i u programovacích jazyků. Nedám na Javu dopustit, ale Rubisti možná zrovna teď kývou hlavou. Což mi připomíná, že už jsem se dlouho nenaučil žádný nový programovací jazyk a nevyzkoušel nový framework. Samozřejmě vím, že je Java dokonalá a Sping bez chyby. Finta je v tom, že jedině tím, že se naučím něco nového, můžu přijít na to, že se možná pletu.
http://eppsnet.com/2001/10/specializing-in-cripples