Category Archives: Knihovnička SE

Géniové a mrzáci

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.

Nejlepší softwarové články

Dneska vás čeká pikorecenze knihy The Best Software Writing, kterou zkompiloval Joel Spolsky. V podstatě jde o souhrn článků, které Joel považuje za dobré. Musím se přiznat, že mě kniha moc nezaujala. Obsahuje pár hodně zajímavých článků a několik řekněme nadprůměrných. Nejvíc se mi asi líbil článek Strong typing vs. Strong testing od Bruce Eckela. Doporučuji vám si ho přečíst, poskytuje zajímavý pohled na problematiku dynamických jazyků.
Ale jinak bych vám spíš doporučil přečíst si Joela samotného, této knize dávám pět hvězdiček z deseti.

Joel o software

V porovnání s řízením týmu lidí jsou C++ šablony triviální.

Dneska budu psát o něčem co asi všichni znáte. O sérii Joel on Software, kterou jsem měl příležitost přečíst si v knižní podobě.

A začnu rovnou chválou. Je to nejlepší knížka, kterou jsem o psaní programů kdy četl. Joel nejen že tomu rozumí, on umí navíc i psát. A to vtipně. Takže se střídají okamžiky, kdy se člověk směje s okamžiky kdy si říká „Tak takhle to je“.

Kniha je rozdělena do několika základních částí. Joel v ní probírá témata týkající se programování, managementu, strategie a ekonomie softwarových projektů. Zakončuje částí o .NETu, která je docela zajímavá i pro Javistu. Mě obvykle přestávají podobné knihy po polovině bavit. Připadá mi, že se autor už jen opakuje. U této knihy tomu tak nebylo. Takže jsem ochoten mu odpustit i to, že je prašivý Microsofťák.

Knize uděluji deset hvězdiček z deseti a vyhlašuji ji jako povinnou literaturu. Až vás příště potkám, tak si vás jen tak zběžně přezkouším. Běda tomu kdo ji nebude umět nazpaměť. Ale vážně, pokud pro vás programování není jenom dočasný způsob obživy, přečtěte si to. Když už ne knižně, tak alespoň online. Většina textů je ke stažení na internetu.

No a nebyl bych to já, kdybych se nedopustil neodpustitelného porušení autorských práv neautorizovanou citací Joelova testu, kterým si můžete zjistit, jak na tom je vaše firma

  1. Používáte source control?
  2. Jste schopni udělat build v jednom kroku?
  3. Děláte denní build?
  4. Máte databázi chyb?
  5. Opravujete chyby před tím než píšete nový kód?
  6. Máte aktualizovaný plán?
  7. Máte specifikaci?
  8. Mají programátoři tiché pracoviště?
  9. Používáte nejlepší nástroje, které se dají koupit?
  10. Máte testery?
  11. Píší uchazeči o zaměstnání kód během pohovoru?
  12. Děláte testy použitelnosti za pomocí lidí odchycených na chodbě?

Za každou kladnou odpověď si přičtěte bod. Joel tvrdí, že většina organizací se pohybuje kolem tří bodů. Ale neradujte se, že máte pět bodů. Výsledek 10 a nižší je prý také špatný. Ale abych vás potěšil, v knize se dočtete i to, jak to můžete právě vy napravit.