Kniha

Jazyky C a C++

Miroslav Virius


GRADA Publishing, a.s., 30.11.2005, (brožovaná vazba, formát knihy: 120 × 170 mm, 520 stran černobílých)

299.00 CZK

Koupit

Jazyky C a C++

Anotace


Otevřeli jste knihu, která vám poskytne referenční příručku programovacích ja-zyků C a C++ podle platných standardů. V prvním dílu, který právě držíte v ruce, jsou informace o těchto dvou krásných programovacích jazycích. Druhý díl bude obsahovat přehled jejich standardních knihoven.

Úvodem najdete několik slov o historii těchto jazyků a o jejich mezinárodních standardech.
V první kapitole najdete příklad jednoduchého programu, základní informace o vytváření zdrojového textu programu a o postupu při překladu. Tato kapitola se poněkud vymyká z rámce celé knihy, nebo» spíše než referenční příručku připomíná první kapitolu učebnice. Jejím cílem je poskytnout rámec, který by usnadnil pochopení dalších kapitol i čtenářům, kteří s jazyky C a C++ nemají žádnou zkušenost, nebo ji mají jen velmi malou. V závěru první kapitoly najdete velice stručný výklad základních pojmů objektově orientovaného programování se zřetelem k C a C++.

Ve druhé kapitole se seznámíte se způsobem popisu jazyků C a C++ a se základními stavebními prvky, jako je množina znaků, identifikátory, klíčová slova atd. Následující kapitoly popisují základní datové typy, uživatelem definované neobjektové typy, výrazy, příkazy, operátory atd. – ostatně to najdete v obsahu. Každý významový celek začíná zpravidla popisem syntaxe, za nímž následuje stručné vysvětlení významu a podstatné informace shrnuté do bodů a doplněné příklady. Tento postup ale nemělo smysl dodržovat vždy.

Převážnou většinu příkladů jsem odzkoušel na současných překladačích jazyků C a C++ na PC. V několika případech jsem převzal příklady přímo ze standardů [1] a [3]; zpravidla se jednalo o rysy jazyka, které současné překladače ještě neimplementují nebo je neimplementují v souladu se standardy.

I když jsou si jazyky C a C++ velmi blízké, je třeba zdůraznit, že C++ není pouhé rozšíření jazyka C, nebo» při návrhu C++ byla sice kompatibilita s jazykem C brána v potaz, nikoli však za každou cenu. V jazyce C existují konstrukce, které nejsou v C++ dovoleny; vedle toho narazíme i na konstrukce, které jsou sice správné v obou jazycích, ale v každém z nich mohou mít jiný význam. Je jich ovšem velmi málo a zpravidla jde o konstrukce, které nepatří do dobrého programátorského stylu. V textu na ně samozřejmě upozorníme.

Jazyk C navrhl a implementoval na počátku 70. let 20. století Denis Ritchie a použil ho při implementací jedné z verzí operačního systému Unix. Brzy se ukázalo, že jde o velice příjemný a přitom i mocný programovací jazyk, a tak začal být používán k nejrůznějším účelům. S tím ovšem procházel i řadou změn – nejstarší verze tohoto jazyka např. místo operátorů +=, -= apod. používaly operátory =+, =- atd. V roce 1978 vydal D. Ritchie spolu s B. W. Kernighanem proslulou knihu The C Programming Language [5], která se stala na dlouhou dobu neoficiálním standardem jazyka C. V roce 1990 byl jazyk C poprvé standardizován na mezinárodní úrovni.

Jazyk C++ navrhl a implementoval Bjarne Stroustrup. Jedním z prvních kroků na cestě k jazyku C++ bylo tzv. „C s třídami“. V roce 1985 vznikla verze, kterou již lze považovat za řádný objektově orientovaný programovací jazyk. Známe ji pod názvem C++. Jazyk C++ od té doby dozrál a je stejně úspěšný jako jazyk C.

Jedním z důvodů úspěchu je jistě téměř úplná kompatibilita C++ s C, která pro-gramátorům pracujícím v Céčku usnadnila přechod k objektově orientovanému programování a zaručila použití již existujících kódů napsaných v jazyce C.

Standardy

Prvním, neoficiálním standardem jazyka C se stalo první vydání už zmíněné kni-hy B. W. Kernighana a D. Ritchieho The C Programming Language. Zde popsaná verze jazyka bývá označována jako „jazyk C podle Kernighana a Ritchieho“, případně zkratkou K&R.
ÚVOD25Oficiálně byl jazyk C poprvé standardizován na národní úrovni v USA v roce 1989. Tento dokument ANSI měl číslo X3J11/90-013.

O rok později, v roce 1990, byl přijat mezinárodní standard ISO/IEC 9899-1990. V této knize pro něj budeme používat zkratku C90. Jazyk podle tohoto standardu je dnes běžně používán, implementují ho prakticky všechny běžně dostupné překladače. Poznamenejme, že zároveň s tím byl v USA stažen standard ANSI a byl nahrazen standardem ISO. Na tom nic nemění skutečnost, že mnozí výrob-ci překladačů se stále odvolávají na standard ANSI – to, co dodávají, je (nebo by měl být) překladač vyhovující mezinárodnímu standardu ISO.

V roce 1995 byl přijat technický dodatek k tomuto standardu, který především rozšířil jazyk C o nástroje pro práci s tzv. širokými (tj. dvoubajtovými) znaky.

V roce 1999 byla přijata druhá verze standardu jazyka C, označená ISO/IEC 9899-1999, kterou budeme označovat zkratkou C99. Přinesla řadu významných novinek – především do jazyka zahrnula nejběžnější rozšíření a odstranila ně-které potenciálně nebezpečné rysy.
Jazyk C++ byl od svého vytvoření v první polovině 80. let spravován B. Stroustrupem pod záštitou firmy AT&T. Program v C++ byl původně překládán nejprve do jazyka C a teprve z něj překladačem jazyka C do strojového kódu. Proto se první verze tohoto jazyka označovaly Cfront. Do počátku 90. let bylo uvolněno několik verzí, z nichž za nejvýznamnější bývají pokládány verze Cfront 1.0 (přinesla objek-tové rozšíření jazyka C), Cfront 1.2 (přinesla mj. přetěžování operátorů), dále verze Cfront 2 (přinesla vícenásobnou dědičnost) a verze Cfront 2.1 (připojila šablony).

V roce 1991 vyšla kniha The Annotated C++Reference Manual [6], označovaná často zkratkou ARM, která se stala základem návrhu standardu jazyka. Obsahovala navíc šablony, výjimky, prostory jmen a dynamickou identifikaci typů.

V roce 1998 byl přijat mezinárodní standard jazyka C++ ISO/IEC 14882-1998. Tento standard doplnil, upřesnil a v některých detailech i změnil jazyk popisova-ný v ARM a přidal standardní šablonovou knihovnu. V této knize budeme hovořit o jazyku C++ podle tohoto standardu.

Poznamenejme, že jazyk C++ podle ISO/IEC 14882-1998 se opírá o jazyk C podle ISO 9899-1990, tedy o C90.

Vloženo: 2008, martin