Jste zde

programování

Tranzitivní uzávěr grafu v Haskellu

V tomto příspěvku se podíváme, jak lze s využitím vlastností jazyka Haskell přímočaře implementovat výpočet tranzitivního uzávěru grafu pomocí Warshallova algoritmu.

Zajímavosti z C++: Načtení celého vstupu do std::string v jednom příkazu

Včera jsem s kamarádem řešil, zda a jak lze v C++ načíst celý obsah vstupu do std::string v jediném příkazu. Pokud by to někoho zajímalo, tak odpověď dává následující krátký příspěvek.

Méně známé skutečnosti o C a C++: Sekvenční body

Následující příspěvek je nejen pro ty, kterým kód a[i] = i++; připadá v pořádku, či kteří si myslí, že rozdíl mezi ++i a i++ je v tom, že ten druhý způsobí zvýšení hodnoty i až po dokončení zpracování výrazu, kde se vyskytuje ;).

Zajímavosti z Haskellu: Lazy pattern matching

Za anglický nadpis se omlouvám, ale opravdu mě nenapadl žádný vhodný překlad tohoto slovního spojení ("líné hledání vzorů" či "líný pattern matching" zní divně). Lazy pattern matching (LPM) je typ pattern matchingu (PM), nebo, chcete-li, hledání vzorů, při kterém nedochází k okamžitému navázání hodnoty na vzor, ale až při prvním použití tohoto vzoru. V následujícím příspěvku bych chtěl ukázat, jak tato technika funguje a k čemu se dá použít.

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

Po delší době přináším další hádanku z oblasti programovacích jazyků C a C++. Tentokrát budeme řešit triviální věc nekonvenčním způsobem. Nic složitého to ale nebude a tak postačí dostatek důvtipu :).

Méně známé skutečnosti o C a C++: Standardní proud clog

Když se zeptáte programátora v C++ na standardní proudy (streams), tak vám většinou odpoví cin, cout a cerr (případně s kvalifikátorem std::). Již méně se ale ví, že těchto standardních proudů je více -- patří mezi ně mj. ještě clog (celkem existuje osm standardních proudů, ale to je pro nás teď nepodstatné). Tento proud a jeho možné využití bych vám chtěl velmi krátce představit v následujícím příspěvku.

Méně známé skutečnosti o C a C++: Makra s proměnným počtem parametrů

S funkcemi, které berou proměnný počet parametrů ("nerdy speaking", mají proměnnou aritu), už se zřejmě každý setkal (nejznámějším příkladem je dvojice funkcí scanf() a printf()). V C99 byla zavedena podpora i pro makra s proměnným počtem parametrů (variadic macros, někdy překládáno jako "variadická makra"). Jak taková věc vypadá a k čemu to lze použít se dozvíte v následujícím příspěvku.

Elements of Programming

Před pár dny mi konečně došla nová kniha od A. Stepanova (autor C++ STL) a P. McJonese, nazvaná Elements of Programming (EOP), která byla vydána v roce 2009. Tuto knihu, která bývá srovnávána s Knuthovým The Art of Computer Programming (TAOCP) (ať už svými myšlenkami, či matematickou náročností), bych vám chtěl v následujícím příspěvku velmi krátce představit.

Zaměňované pojmy v oblasti SW inženýrství

Při přednáškách a přípravě na letošní zkoušky z Analýzy a návrhu informačních systémů a Bezpečnosti informačních systémů jsem si vzpomněl na pár pojmů, které bývají často zaměňovány a používány v opačném významu, i když je mezi nimi rozdíl. Mezi tyto pojmy patří např. validace a verifikace, metodologie a metodika a aplikační versus business logika (odmítám psát byznys logika, protože to vypadá divně).

Méně známé skutečnosti o C a C++: Vztah mezi znakem a bajtem

Na námět jednoho mého čtenáře (fakt, ono zřejmě někdo ty moje příspěvky čte! :] j/k) se v tomto příspěvku budu zabývat vztahem mezi znakem (character) a bajtem (byte) v jazycích C a C++. Mimo jiné se dozvíte, proč strlen() vrací vždy počet bajtů v předané posloupnosti ukončené nulovým bajtem a proč nemůže sloužit k tomu, aby vracela počet širokých znaků (wide characters) předaného řetězce, např.

Stránky

Přihlásit se k odběru RSS - programování