Archive for the ‘Knihovnička SE’ Category

Nejlepší softwarové články

Saturday, August 16th, 2008

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

Monday, June 9th, 2008

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.

Sníme v kódu

Thursday, June 5th, 2008

Software is hard. [Donald Knuth]

Tak jsem tu zas s další pidirecenzí knihy pro úchyly jako jsem já a doufám že i vy. V originále se jmenuje Dreaming in Code, a napsal ji Scott Rosenberg. Její podtitul mluví za vše: „Dva tucty programátorů, tři roky, 4 732 chyb a jedna výprava za výjimečným programem.“
O čem, že to je? Pan Mitchell Kapor, zakladatel Lotusu, si vydělal nějakých sto milionů dolarů na Lotusu 1-2-3. No a jelikož nevěděl co s penězi, tak se rozhodl, že založí Open Source projekt, který vyřeší jeho a ostatně i naše trable s MS Outlookem. Že napíše něco mnohem lepšího. Program, který změní svět. Který úplně převrátí náš pohled na na PIM programy. Převratný programu Chandler. Že jste o něm nikdy neslyšeli? Není divu. Ono se to moc nepodařilo. O to je ta kniha zajímavější.
Autor po tři roky sledoval marnou snahu týmu, tento program napsat. A musím přiznat, že je to čtení jen pro silné nátury. Je to čtení o tom, jak se neustále dohadovali, co vlastně chtějí naprogramovat, jak to chtějí naprogramovat, co to bude dělat, jak to bude vypadat, jaké knihovny použít. V prvním roce v podstatě nenapsali nic užitečného. K první použitelné verzi se blížili asi po třech letech! To už to ovšem autor knihy vzdal a šel dělat něco užitečnějšího. Podobně otřesný zážitek jsem zažil naposled, když jsem sledoval Sin City ve Francouzštině.
Co knihu dělá stravitelnou a i užitečnou jsou citace a četné odkazy na další literaturu. Autor často odbočí, problémy Chendleru zobecňuje a píše, co o problému kdo zajímavého napsal. Takže, až vás příště budu ohromovat nějakým citátem, tak víte, kde jsem ho našel.
Takže abych to shrnul, pokud vás zajímá vývoj software, máte silný žaludek a nemáte dost odstrašujících příkladů z vlastní praxe, kniha Dreaming in Code je pro vás ta pravá. Dávám jí chabých 6 hvězdiček z deseti. A dovolte mi zakončit citátem, který knihu docela vystihuje. Jde o odpověď, kterou dal Linus Torvalds na otázku, jakou radu by dal lidem, kteří se pouštějí do velkého projektu.

Nikdo by se neměl pouštět do velkých projektů. Začněte s malým, triviálním projektem a nikdy neočekávejte, že bude velký. Když to budete čekat, jenom ho předimenzujete a budete si myslet, že je důležitější, než pravděpodobně v dané fázi je. Nebo ještě hůř, představa té hromady práce vás může úplně odradit. Takže začněte v malém a myslete na detaily. Nemyslete na velký obraz a fantastický design. Pokud to neřeší okamžitou potřebu, je to zcela jistě předimenzováno.