Dynamický programovací jazyk vs dynamické programování

Ač jsou mnohdy tyto dva termíny mylně používány ve vzájemné souvislosti ("programuji v dynamickém jazyce, tedy dynamicky programuji"), tak mezi oběma termíny (koncepty) je velmi zásadní rozdíl, který je činí naprosto ortogonálními. Lze tedy využívat konceptů dynamického programování v jazyce, který není považován za dynamický a zároveň lze programovat v dynamickém jazyce, aniž by bylo využíváno dynamického programování. Cílem tohoto příspěvku je oba termíny vysvětlit, aby vynikl jejich rozdíl.

Co přinesl rok 2009

Rok 2009 se pomalu blíží ke konci a tak jsem se rozhodl, podobně jako minulý rok, zamyslet nad tím, co pro mě tento rok znamenal a co se v něm zajímavého odehrálo. Opět se mrknu na kulturní oblast, konkrétně jaká hudební alba, filmy a koncerty z tohoto roku mě zaujaly. Všem přeji mnoho zdaru do nadcházejícího roku 2010 ;).

Stárneme...

Před hodinou jsem se vrátil ze srazu naší třídy ze základní školy po 8,5 letech. Je zajímavé, co si člověk při takových setkáních uvědomí...

Zneužívání funkce isinstance() v Pythonu

Programátoři v Pythonu, kteří k tomuto jazyku přešli z některého staticky typovaného jazyka (C++, Java, ...), mívají problém s tím, že se snaží používat koncepty, které mají zažité z jiných jazyků, ale které v Pythonu nemají co dělat. Jeden z nich se týká zneužívání funkce isinstance() a cílem tohoto příspěvku je na něj poukázat a vysvětlit, v čem je problém.

Důvod použití deklarace global v Pythonu a PHP

Jelikož jsem na toto téma nedávno narazil při diskusi s mým spolubydlícím a také se pravidelně objevuje v předmětech prof. Hrušky :), tak jsem se rozhodl osvětlit část problematiky přístupu ke globálním proměnným v jazycích Python a PHP.

Jak na zjišťování pokrytí kódu testy v Pythonu

Při testování metodou bílé skřínky (white box) je obecná snaha o co největší pokrytí testovaného kódu (code coverage). Minimálně byste se měli snažit o to, abyste testy pokryli každý řádek vašeho programu, který stojí za to testovat (např. obě větve každého úplného if-else příkazu, ale už ne třeba situace typu assert false, 'x > 0; this should never happen'). O tom, jak si zjistit aktuální pokrytí vašeho kódu v jazyce Python bude následující příspěvek.

Méně známé skutečnosti o C a C++: Proč nemůže existovat LL(k) gramatika pro jazyk C

V tomto příspěvku naznačím důvod, proč nemůže pro jazyk C existovat LL(k) gramatika pro libovolné konečné k. Příspěvek si asi užijí jen ti, kteří mají určité základy z oblasti teorie formálních jazyků a překladačů, ale do žádných složitých detailů se pouštět nebudu.

Zajímavé úlohy pro programátory v C a C++ #9

Konec října a začátek listopadu je sice obdobím polosemestrálních zkoušek, ale i přesto zkusím hodit do placu další hádanku. Za poslední tři hádanky byl průměr odpovědí čístá nula, takže i když se ani teď nikdo neozve, tak průměr neklesne. Je třeba myslet pozitivně :). Dneska se bude řešit korektní načítání čísel ze vstupu pomocí C++ proudů (streams).

Čistý kód, který funguje

Někteří o mně určitě ví, že mým oblíbeným způsobem vývoje softwaru je vývoj řízený testy (test-driven development, někdy také nazýváno test-first development - dále jen TDD). Jedním z důvodů, proč na tento přístup nedám dopustit, je to, že jeho aplikováním vzniká něco, co většina softwaru postrádá - čistý kód, který funguje.

Zajímavé úlohy pro programátory v C a C++ #8

Přínáším první hádanku v novém školním roce. Styl této hádanky bude podobný stylu předchozí hádanky, kdy se hledala potenciální chyba v programu, ovšem s tím rozdílem, že tato hádanka nebude ani tak o hledání "jazykových chyb", jako spíše o hledání návrhových chyb.

Stránky

Přihlásit se k odběru Petr Zemek RSS Přihlásit se k odběru Petr Zemek - All comments