Od Petr Zemek, 2009-10-31

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).

Od Petr Zemek, 2009-09-24

Při čtení "Dračí knihy" (Dragon book) jsem narazil u jednoho příkladu ruční implementace konečného automatu na poznámku, že nezáleží na pořadí uvedených case větví v příkazu switch, protože překladač to optimalizuje, a tudíž, i když tu nejméně pravděpodobnou variantu dáme na začátek, tak to nebude mít na výkon žádný vliv. Co se týče nezávislosti na pořadí (mimo speciální případy, např. vynechaný break), tak v jazycích C a C++ je to běžně známá záležitost, ale mě zaujala ona poznámka o optimalizaci a nedalo mi to, abych se nepřesvědčil, jak tomu ve skutečnosti je. Se svými výsledky, co se týče překladače gcc, bych se chtěl podělit v tomto příspěvku.

Od Petr Zemek, 2009-09-17

Před koncem letního semestru jsem se rozhodl, že přes následující letní prázdniny shodím část přebytečných tuků, které se mně podařilo za poslední čtyři roky, co jsem na VŠ, přibrat (přesněji řečeno se jednalo především o první tři roky - ten čtvrtý už jsem začal něco dělat). Dnešní příspěvek je o mé cestě a výsledkem po téměř 4 měsících práce.

Od Petr Zemek, 2009-09-15

Dneska bych se chtěl mrknout na implicitní číselné typy v jazyce Haskell (podle specifikace z roku 1998, příklady odzkoušeny v GHC 6.10). Jak určitě víte, tak při použití funkcí jako je read :: Read a => String -> a je nutné specifikovat, co má být výsledným typem. Pokud zavoláte jenom read "143", tak překladač nedokáže automaticky odvodit konkrétní typ takového výrazu (netuší, že chcete z řetězce získat číslo typu Int). Řešením je typ výrazu explicitně zadat, čili read "143" :: Int. Tato nejednoznačnost se ale netýká jen takovýchto výrazů, ale i zdánlivě "jasných" výrazů.

Od Petr Zemek, 2009-09-13

Jelikož programuji a zajímám se i o jiné jazyky než je C a C++ (Python, Haskell, Java, SQL, PHP, HTML/XML, CSS, JavaScript, LaTeX, Vimscript, minoritně o Prolog či různé assemblery, dříve Pascal), tak jsem se rozhodl, že občas napíšu i nějakou zajímavost z ostatních jazyků. Nebude to nijak závazné, ani neplánuji žádný pravidelný seriál, ale když při studiu/programování narazím na nějakou zajímavost, tak ji sem možná napíšu :). Témata na tom budou (co se týče obtížnosti) různá - především se ale asi bude jednat o pokročilá témata.

Od Petr Zemek, 2009-09-09

Ne, vhodnější nadpis, než je zbytečná tautologie v druhé části, mě opravdu nenapadl :). Debian Testing jsem na svém notebooku používal od srpna minulého roku až do poloviny února, kdy byl uvolněn Debian Lenny a já jsem (z důvodů dočasné absence bezpečnostních updatů) zůstal na stabilní verzi (Lennym). Po ukončení semestru jsem však na začátku června opět přešel na testovací verzi Debianu, na které jsem zůstal až do začátku srpna tohoto roku, kdy jsem přešel na "nestabilní" verzi Debianu - Unstable. Mé důvody a dojmy po měsíci používání naleznete dál v příspěvku ;).

Od Petr Zemek, 2009-09-06

Minule se mně sice nikdo s řešením neozval (nevím, zda to bylo náročností úlohy nebo prostě tím, že jsou prázdniny), ale nevadí, zkusíme jinou úlohu :). Tentokrát jsem si hádanku vypůjčil z jednoho zdroje, který a priori uvést nemohu, protože pak byste se místo samotného řešení pokoušeli hledat řešení v onom zdroji :), ale po zveřejnění řešení ho samozřejmě uvedu. Kód jsem ale mírně upravil, aby to bylo zajímavější, takže není úplně shodný. Tentokrát se budou moct zapojit i ti, kteří znají "jen" Jazyk C.