Jste zde

programování

Zajímavé chování konstrukce try-catch-finally

U většiny vysokoúrovňových jazyků (především těch, které vychází z objektově orientovaného paradigma) se lze setkat s obsluhou chyb pomocí výjímek a jazykovou konstrukcí try-catch-finally. Jednotlivé jazyky se liší např. absencí klauzule finally (C++) či jiným pojmenováním (try-except-finally v Pythonu a begin-rescue-ensure v Ruby).

Méně známé skutečnosti o C a C++: C není jen ANSI C a C++ není jen C++98

Tímto zahajuji další "seriál" týkající se jazyků C a C++. Chtěl bych v něm upozornit na některé skutečnosti, které si ne každý uvědomuje a také některé vlastnosti těchto jazyků, které nejsou příliš známé a nebo se jejich důležitost podceňuje, což mnohdy může vést k nečekaným problémům. Objeví se zde určitě i zajímavé vlastnosti či konstrukce a využití těchto jazyků, o kterých se obecně neví, že něco takového je v těchto jazycích možné.

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

Tak jsem po kratší odmlce zpět a přináším další zajímavou úlohu z jazyka C++. Dnes se moc programovat nebude, ale o to víc bude třeba přemýšlet :). Ještě bych chtěl poznamenat, že úlohy budu přinášet nepravidelně podle toho, jak mě vyjde čas a zda mě něco zajímavého napadne nebo na něco narazím.

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

Zkouškové skončilo a já tak mohu v klidu přinést další zajímavou úlohu. Tentokrát budeme programovat pouze v C++ a cílem bude vytvořit program, který bude provádět zadanou činnost a použít při tom co nejmenší počet příkazů.

Seznam běžných bezpečnostních slabin softwarových systémů

Dneska jsem narazil na server cwe.mitre.org, který obsahuje seznam běžných bezpečnostních slabin softwarových systémů. Ke každé slabině jsou uvedeny detailní informace, příklady a odkazy na podobné problémy. Určitě si pročtěte alespoň 25 nejnebezpečnějších programátorských chyb, abyste se jich mohli vyvarovat. Škoda, že se tyto věci u nás neučí ve větší míře (kromě zmínek, že takové problémy existují) - pak to dopadá tak, že se tyhle chyby pořád opakují, protože na ně nikdo studenty neupozorní a ani se jim nevěnuje dostatečná pozornost jak při tvorbě (ze strany studentů), tak při opravování projektů (ze strany opravujících)...

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

Zkouškové období již začalo, ale (zatím) toho není tolik, abych nemohl přinést další zajímavou úlohu :). Tentokrát si vyzkoušíme tvorbu maker.

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

Tak jsem opět zde a s druhou úlohou. Tentokrát si dáme něco "napříč spektrem norem" a budeme programovat jak v C, tak v C++. Myslím si, že vás to zaujme :).

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

Dnešním dnem zahajuji seriál, ve kterém mohou čtenáři řešit zajímavé úlohy z oblasti programovacích jazyků C a C++. Na čtenáři bude najít správné řešení zadané úlohy a podělit se s ním s ostatními do komentáře. Úlohy nebudou nikterak dlouhé ani časově pracné - půjde především o znalost těchto jazyků (a jejich možností), programovacích technik a jazykových idiomů. Pokud se žádnému z čtenářů nepodaří najít správné řešení, tak po určité době zveřejním své (komentované) řešení a rád zodpovím případné dotazy (to se týká i nejasnostech v zadání). Nuže, pojďme se podívat na první úlohu :).

Mixins

Na jednom týmovém sezení (při řešení projektu do předmětu Počítačová grafika) jsem nadhodil techniku známou jako Mixins. Bohužel jsem ji tehdy nedokázal dostatečně vysvětlit a její použití nebylo v dané situaci vhodné, takže bych to chtěl tímto příspěvkem napravit a ukázat, že tato technika je v praxi velice užitečná a že využití mixinů by nemělo být obecně považováno za "bad practice" či za anti-vzor.

if (!strcmp(str1, str2))

Poměrně často se při prohlížení cizých zdrojových kódů setkávám s konstrukcemi, se kterými tak úplně nesouhlasím a o kterých si myslím, že snižují čitelnost kódu (a tudíž schopnosti porozumění daného kódu), jsou špatnou praktikou (nejen v daném programovacím jazyce) či jejichž použití může být dokonce nebezpečné. Nad jednou takovou konstrukcí (spadající do kategorie špatných praktik a snižování čitelnosti kódu) bych se v tomto příspěvku chtěl zamyslet.

Stránky

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