• Nechápu, proč je Scala tak populární

    Nechápu, proč je Scala tak populární. Samozřejmě jsem koketoval s myšlen­kou, že se Scalu naučím. Ale rozmyslel jsem si to, aniž bych se v ní pokusil cokoliv napsat (dokonce ani Hello World). Tento příspěvek jsem pojal jako obhajobu, proč se Scale nehodlám věnovat. Jak už psal Paul Graham v kritickém příspěvku Přebal Javy: „Musíte se naučit posuzovat podle vnějších znaků a určit, které techno­logie stojí za váš čas.“. Vzal jsem na vědomí, proč není tak rozšířené Groovy, ale co se Scaly týče, tak souhlasím s tím, co bylo napsáno v knize Seven Languages in Seven Weeks, ze které budu citovat.

  • Akumulátor test a Java 8

    Paul Graham v článku Revenge of the Nerds (dostupný i český překlad) píše, že kdybyste se Dilber­tova šéfa zeptali, v čem naprog­ra­movat software, tak vám odpoví: Java. Ale jazyky se svými schop­nostmi liší. Ukazuje to sice na akade­mické a neprak­tické úloze, která ovšem o jazycích leccos vypovídá. Úlohu jsem si připomněl v souvis­losti s uvedením Javy 8. Zajímalo mě, jak obstojí.

  • Štěstí nebo osobní zásluhy

    I přes zdravou míru pokory si o sobě myslím, že jsem dobrý programátor. Jsme masírováni příběhy úspěšných lidí (americký sen), kteří si svůj úspěch nepochybně vydřeli, ale jejich štěstí je jaksi upozaďováno. Malcolm Gladwell to v knize Mimo řadu, (v anglickém originálu Outliers) píše: „Tváříme se, že úspěch je jen a pouze otázkou osobních zásluh… Jejich úspěch nebyl jen jejich dílem. Byl produktem světa, v němž vyrostli.“ Sám jsem pocho­pi­telně při četbě bilan­co­val, co je moje zásluha a v čem se na mě usmálo štěstí.

  • Záhada jménem Groovy

    Již dávno jsem si zamiloval Groovy. Přemýšlel jsem, proč není tak skvělý jazyk rozšířenější. Odpověď mi dal článek The Groovy Conundrum (zveřej­něný v únoru 2013 na serveru drdobb­s.com), který napsal Andrew Binstock. S jeho laskavým svolením jsem text přeložil do češtiny (autorská práva, copyright, drží drdobbs.com; samotný překlad uvolňuji pod licencí Creative Commons by-nc-sa).

    Groovy je jeden z nejzajímavějších jazyků běžící na JVM, ale jeho dlouho­dobé potíže s výkonem mu trvale bránily v rozšíření ze speci­fic­kých případů použití. Nicméně díky řadě vylepšení to vypadá, že by se jazyk mohl dostat do hlavního proudu. To je ona záhada.

  • Co byste dělali, kdyby vypukla válka

    Luboš Louženský se na twitteru zeptal, zda by vaše práce měla ještě smysl, kdyby začala válka. Rozjela se kolem toho zajímavá diskuse, ale stočtyřicet znaků není ten správný formát. Přináším svoje shrnutí a dávám prostor v komen­tářích pod článkem.

  • Aby JUnit test neselhal na první assert

    Chtěl bych navázat na článek Paramet­ri­zo­vaný JUnit test a pokrač­ovat tak v předs­ta­vování vlast­ností JUnit, o kterých dost programátoru neví, nebo je alespoň denně nepoužívají.

    Jsem zastáncem toho, aby jednot­livé testy byly co nejkratší a samozřejmě na sobě nezávislé. Raději napíšu deset testo­vacích metod s jedním asser­tem, než jednu metodu s deseti asserty (viz kriti­zo­vaný test validátoru rodných čísel). Výhodu spatřuji v tom, že při jediném běhu testu vidíte na jediný pohled všechny vadné případy. A ne že opravíte první assert, spustíte test a padne vám hned druhý assert v pořadí.

    Jiné je to v případě integ­rač­ních testů, například Selenium (WebD­ri­ver). Samotná příprava dat je náročná, takže je vhodné asserty sdružovat do větších celků. Ale jak z jediného běhu získat co nejvíce infor­mací, aniž byste museli test znovu a znovu opakovat?

    Existuje šikovná imple­men­tace rozhraní TestRule, v podobě ErrorCollector, který sbírá vzniklé chyby, ale repor­tuje je až nakonec.

  • Tvůj kód může být elegantní

    Mám rád čistý kód. Kvalita kódu ovšem mnohdy musí ustoupit byznys požadavkům a nemusí to být nutně špatně. Leon Fayer o tom sepsal pěkný článek Your Code May Be Elegant. S jeho laskavým svolením jsem text přeložil do češtiny (překlad uvolňuji pod licencí Creative Commons by-nc-sa).

  • Parametrizovaný JUnit test

    Richard Šerý v článku Druhá obtížná věc prohlašuje: „pište kód tak, aby ho pocho­pilo i malé děcko, senilní stařík či vy po deseti letech práce v korpo­ra­ci“. V komen­tářích jste mě za podobu unit testu pro validátor rodného čísla, který ono krédo respek­tuje, téměř kameno­vali. Zkusme tedy něco elegant­nějšího: paramet­ri­zo­vaný JUnit test. Dle toho, co jsem viděl, se zatím testy tímto způsobem moc nepíšou. Jako další zlepšovák imple­men­továno v Groovy.

  • Co se firmy můžou přiučit od armády 2

    Již jsem psal o tom, co se firmy můžou přiučit od armády. Přivedla mě k tomu kniha Corps Business: The 30 Manage­ment Principles of the U.S. Marines. Volně pak navázal Dagi, co má společ­ného voják blátošlap s vývojářem lopatou. Od té doby jsem si pozna­menal několik další věcí, kterými se lze od ozbro­jených složek inspi­ro­vat. Nedávno jsem potkal známého, který dělá vedoucího územního odboru (okres) Policie České repub­liky. Začal jsem konver­zaci: „U vás dělá ten a ten, ale toho asi neznáš, že?“ Odpovědí mi bylo: „Jasně, že ho znám. Já znám jménem všech svých 220 podřízených.“ Obdivem mi poklesla brada a zatím jsem si vybavoval poměry v obdobně velkých firmách.

  • Hromadný apt-get install

    I s tím málo, co s Linuxem umím, si připadám efektiv­nější než s Windows. Pominu-li drobnosti jako to, že ve Windows scrollu­jete jen tam, kde je focus, tak nejdůležitější pro programátora je pocho­pi­telně příka­zová řádka. Bez Unixové si připadám, jako kdybych měl zlámané obě nohy. Dobře, existuje Cygwin, ale to jsou jen berle, s těmi těžko budete skákat přes kaluže.

    S přibývajícími roky se obrušují hrany mých nekom­p­ro­mis­ních názorů: mám pocho­pení pro to, že je snazší spravovat síť s tisíci počítači, pokud máte jediný systém. Dal jsem Windows měsíc šanci a pak insta­loval Ubuntu do virtuálu. Pokaždé doinsta­lovávám ty samé aplikace, tak jsem si poznačil skript. Třeba se vám bude taky hodit.

subscribe via RSS