Jedním z nejrozšířenějších programovacích jazyků se stal jazyk C a později i jeho objektově orientovaná nadstavba C++ . Výhody obou těchto jazyků předurčují jejich využití v mnoha oblastech počítačového světa. Vzhledem k jeho výborným vlastnostem se jazyk C stal velmi populárním a postupně se vyvinulo několik jeho verzí až po současný standard ANSI C++ (ANSI - American National Standard for Information Systems - Americký národní standard pro informační systémy). Tímto standardem se také budeme v našem kurzu zabývat.
Text jednotlivých kapitol je orientován převážně na popis jazyka v rámci probírané látky. Uvedené příklady a další doprovodné materiály nejsou jediným správným řešením (nekladu si nárok na dokonalost mých programů). Proto je třeba je považovat za pouze jedno z možných řešení problému a cílem je ukázat především popisované rysy jazyka. Jeden problém jde řešit mnoha různými cestami. Programátor by si měl vybrat cestu takovou, aby výsledný program byl co nejefektivnější, ale zároveň co nejspolehlivější - jinými slovy: líný programátor je špatný programátor. Programový kód, který zajišťuje stabilitu programu totiž často mnohonásobně zvětší výsledný program. Na druhou stranu platí, čím delší program, tím je program pomalejší. K tomuto problému se vrátíme ještě později.
V kurzu je užito dvou typů sazby. V sazbě běžného textu výkladu je použito normální písmo, stejné jakým je psán i tento text. Vlastní program je psán "písmem psacího stroje" s barevným odlišením jednotlivých tzv. lexikálních prvků (podobné se slovními druhy v českém jazyce - podstatné jméno, sloveso apod.) programovacího jazyka. Například klíčová slova jazyka (int, class) jsou vytištěna modře, ostatní kód je černý a komentáře jsou světle zelené.
Kurz se často bude odkazovat na kurz o vývojovém prostředí Visual C++ (dále jen VC++), protože budeme pracovat právě s tímto vývojovým prostředím. Pokud nevlastníte VC++, programy je možno psát i v jiných vývojových prostředích neboli IDE (Integrated Development Environment - integrované vývojové prostředí). Stačí vám C++ Builder nebo dokonce starý Borland C++ 1.0 pod DOS, protože jazyk je vždy stejný. Přesto některé možnosti nebudou dostupné a pokud možno, bude na to v textu upozorněno.
U každé lekce bude možno si stáhnout jak zdrojové kódy všech uvedených příkladů, tak i přímo spustitelné programy (spustitelné pouze pod Windows).
Pokud to není nutné, nejsou použity speciální vlastnosti C++ dostupné např. jen v jednom vývojovém nástroji. Na místech, kde jsou speciální vlastnosti C++ využity, je to výslovně uvedeno.
Jazyk C++ je pokračovatelem jazyka C a obsahuje až na výjimky celý jazyk C. Jazyk C++ je narozdíl od svého předchůdce objektově orientovaný. Co to přesně znamená nás prozatím nemusí zajímat.
V létě roku 1989 společnost AT&T zveřejnila specifikaci pro AT&T C++ Release 2.0. Tato nová verze obsahuje některé významné změny, které řeší některé problémy s dřívějšími verzemi C.
Původní jazyk C byl vyvinut pro operační systém Unix na počítačích DEC PDP-11. Pro svoje vlastnosti si získal značnou oblibu a dnes je C i C++ k dispozici v mnoha operačních systémech na různých počítačích. Jazyk C byl původně určen pro systémové programování Unixu a téměř celý Unix je v něm napsán. Proto je také C samozřejmou součástí každého Unixového OS.
Jazyky C a C++ jsou však dobře použitelné i v mnoha jiných oblastech programování, např. hromadné zpracování dat, práce s textovými informacemi, řešení numerických úloh a mnoho dalších oblastí. Svou oblibu hlavně získal kvůli velké rychlosti vytvořených programů, které jsou dobře přenositelné do jiných operačních systémů.
Dalším důvodem obliby obou jazyků je to, že v nich lze používat obdobné operace a tvary jako při programování v jazyku assembler (jazyk nejnižší úrovně). Velmi silným prostředkem jsou např. široké možnosti práce s adresami dat a funkcí. Při vhodném způsobu programování se pak programy napsané v C/C++ mohou svojí rychlostí téměř rovnat rychlosti stejného programu psaného v assembleru, ale s mnohem menším úsilím.
V současné době je C++ pravděpodobně nejrozšířenějším programovacím jazykem zvláště profesionálů a dalších odborníků. Existuje pro něj spousta vývojových prostředí, jmenujme ty nejznámější: Visual C++ (Windows), C++ Builder, Borland C++, DJGPP (DOS).
Na závěr vám doporučím některou literaturu, která vám může pomoci nejen při začátcích s C, ale i později až ovládnete C a pustíte se do objektového programování. Přesto v knize nemůže být vše a hlavně kniha vám nebude odpovídat na dotazy. Jistě budete mít po první lekci mnoho dotazů, které tu zveřejním i s odpovědí (pro více informací se podívejte do rubriky "Otázky a odpovědi"). Publikací na toto téma je samozřejmě velké množství. Vypisuji zde pouze knihy, se kterými mám vlastní zkušenosti.
Učebnice jazyka C 1., Pavel Herout, Kopp, České Budějovice, 1996
Snad každý programátor se setkal s touto publikací pro úplné začátečníky, která vás výborným
způsobem seznámí s jazykem C. Jedinou nevýhodou této knihy je, že vám neřekne nic o C++,
přesto ji vřele doporučuji i lidem s malou programátorskou zkušeností jako učebnici a těm
zkušenějším jako referenci. Kniha
má i druhý díl, který prohlubuje znalosti C a programování pod DOSem. Dle mého názoru není
toto pokračování nutné ke zvládnutí C++. Cena prvního dílu je 149Kč.
Programujeme v jazyce Visual C++, Mark Andrews, Microsoft Press, Praha, 1997
Další krok, který učiníte a vstoupíte tak do objektového světa. Kniha se převážně zabývá
programováním pod Windows ve Visual C++ 1.0, které naleznete na přiloženém CD. Jsou zde
vysvětleny základní pojmy C++ jako jsou třídy a objekty, dále například dědičnost a
polymorfismus. Hlavní výhodou této knihy je, že vás seznámí s knihovnou MFC (Microsoft
Foundation Class), ke které se dostaneme někdy na začátku příštího roku. Na druhou
stranu je to velký skok od knihy pana Herouta a začátky jsou tudíž značně obtížné.
Snad vám pomohou tyto kurzy. Cena je 295Kč.
Třídy a objekty C++, Stanislav Racek, Martin Kvoch, Kopp, 1998
Další publikace se opět zabývá jen C++. Tato spíše referenční příručka než učebnice
popisuje všechny rysy C++. Navíc zde najdete stručnou analýzu problému a návrh projektu,
což není špatné si přečíst, i když to ze začátku nevyužijete. Cena je 149Kč.
Mistrovství ve Visual C++, David J. Kruglinski, Microsoft Press, Brno, 1999
Špičková publikace o programování ve Windows ve Visual C++ 5.0, které se od verze 6.0 téměř neliší,
takže vám plně postačí. Popisuje jak vývojové prostředí VC++, tak MFC, ale je nutné znát alespoň
základy C++, takže není vhodná pro začátečníky. Zabrousí prakticky do všech koutů programování s
MFC včetně takových specialit jako je COM (Component Object Model). Druhé vydání navíc obsahuje
ATL (Advanced Template Library). Následuje krátký výčet z obsahu této knihy: GDI (Graphics Device
Interface), DLL (Dynamic Link Library), ActiveX prvky, databáze ODBC a DAO, programování s TCP/IP
a další. Cena je 850Kč.
Na závěr vám ve zkratce povím, co nás čeká příště. Příště si něco povíme o proměnných a operátorech. Ukážeme si, jak proměnnou vytvořit a jak s ní pracovat. Stihneme hlavní funkci main(). O funkcích ještě nic nevíte, ale příště se dozvíte, jak pracuje funkce main(). Dotazy mi posílejte na email a v příštím dílu budou otištěny i s odpovědí, tak si budou moci přečíst váš dotaz všichni.
Těším se příště nashledanou.