C++ - Úvod
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ - ÚvodC++ - Úvod

 

C++ - Úvod

Google       Google       12. 4. 2005       88 925×

Začínáme s  C++, historie a filozofie tohoto jazyka, mechanizmus vytváření programu, jak a s čím pracovat, standardy a přenositelnost…

Reklama
Reklama

Jazyk C++, který je jakousi nástavbou jazyka C a s podporou OOP (objektově orientovaného programování) se stal důležitým jazykem 20. století a jeho důležitot pokračuje.

C++ oproti C

Jazyk C přináší do jazyka C++ tradici efektivity, ucelený, rychlý a přenositelný jazyk. C++ spojuje tři oddělené programovací tradice: tradici procedurálního jazyka reprezentovanou C, tradici objektově orientovaného jazyka reprezentovanou rozšířením C o třídy C++ a programování pomocí předloh podporované šablonami jazyka C++. Pokud neznáte jazyk C - základní typy, operátory, řídící struktury, syntaktická pravidla, nevadí - naučíte se zde. Znáte-li C, jste připraveni se učit C++. Není to však naučení několika klíčových slov a konstrukcí. Přechod z C na C++ vyžaduje asi tolik úsilí, jako naučení samotného C. Pokud tedy přecházíte z C na C++, musíte se odnaučit některým programovým zvyklostem. Tento kurz tedy nepředpokládá jakoukoliv znalost jakéhokoliv programovacího jazyka.

Historie jazyka

Mnozí si pamatují rychlý vzestup výpočetní techniky, kdy jsme přešli z děrných štítků na dnešní technologie. Takto se vyvíjely i jazyky, ne tak drasticky, ale změny byly důležité. V 70. letech jazyky C a Pascal pomohly zavést období strukturovaného programování, základní principy, které přinesly jistý řád a kázeň do oblasti, která silně potřebovala tyto vlastnosti. Kromě prostředků pro strukturované programování, jazyk C produkoval i kompaktní rychle běžící programy spolu se schopností adresovat hardwarové záležitosti, jako jsou řídící komunikační porty a ovladače disků. C se stal dominantním jazykem 80. let, poté nástup OOP zakotvením v C++ a Smalltalku. začátkem 70. let, Dennis Ritchie z Bell Laboratories pracoval na svém projektu rozvoje operačního systému UNIX. K němu potřeboval jazyk, který by byl stručný a výstižný. Tradičně se programátoři setkávají s těmito potřebami, když používají jazyk assembler, který je těsně svázán se strojovým kódem počítače. Avšak assembler je strojově orientovaný jazyk - je závislý na procesoru počítače. Avšak pokud byste chtěli přesunout program z assembleru na jiný počítač, možná byste ho museli přepsat pomocí jiného assembleru. UNIX byl ale určen pro práci na různých typech počítačů. Zvláštní programy – kompilátory – překládají vyšší programovací jazyk do strojového kódu určitého počítače. Ritchie chtěl jazyk, který by spojoval účinnost strojového jazyka na nízké úrovni s přístupem k hardwaru s vyšší úrovní všeobecnosti vyššího jazyka a přenositelnosti. Na základě starších programovacích jazyků vytvořil jazyk C.

Filosofie programování v C

Obecně se programovací jazyk zabývá dvěma pojmy - daty a algoritmy. Data představují informaci, kterou program používá a zpracovává. Algoritmy jsou metody, které program používá. Spojením dat a algoritmů vzniká samotný program. Dřívější procedurální jazyky, jako Fortran či Basic, měli většinou organizační problémy, když se program zvětšoval. Jejich programy často obsahovaly příkazy skoku, což vede k nepřehlednosti celého kódu a následná úprava byla katastrofa. A tak vyvinuli ukázanější styl programování – strukturované.

Objektově orientované programování

Ačkoli principy strukturovaného programování zlepšily srozumitelnost, spolehlivost a usnadnily údržbu programů, velká část programování stále zůstávala výzvou. OOP přináší nový přístup – místo zdůrazňování algoritmů (jako tomu bylo u strukturovaného programování) OOP zdůrazňuje data. Programování OOP je mnohem více než vázání dat a metod do definice třídy, ale o tom později, nebudeme se tím teď zatěžovat.

Generické programování

Generické programování je ještě další programovací postup podporovaný C++. S OOP sdílí cíl vytváření jednoduššího kódu pro znovupoužití. Programování pomocí předloh zahrnuje rozšíření jazyka, takže můžete napsat jedinou f-ci pro všeobecný typ a použít ji pro varianty různých typů. Šablony C++ poskytují mechanismus, který to provádí.

C++

C++ začíná také v Bell Labs, kde počátkem 80. let vyvinul tento jazyk Bjarne Stroustrup. Jméno C++ pochází z přírůstkového operátoru C++, který přičítá k hodnotě proměnné jedničku. Připomíná tedy jasně rozšířenou verzi jazyka C. Stroustrup založil C++ na stručnosti C, přidal rysy OOP aniž by významně změnil složku C. C++ je tedy nadstavba znamenající, že každý program napsaný v C je také platným programem pro C++. Programy v C++ mohou využívat softwarové knihovny C. Knihovny jsou kolekce programových modulů, které můžete volat z programu.

Přenositelnost a standardy

Pokud program napíšete na starším PC 286, nespustíte ho na pracovní stanici Sun - používá jiný procesor a jiný OS. Musíte překompilovat program za použití kompilátoru, který je navržen pro danou platformu. Pokud můžete přeložit program bez provedení změn v kódu, a ten běží bez nesnází, říkáme, že je program přenositelný. Překážek je více, například hardware. Program, který je hardwarově závislý, pravděpodobně nebude přenositelný. Postupně vznikly standardy ANSI a ISO, které spojili svoje úsilí vytvořit standardy a zdůrazňovaly tak C++ jako široce rozšířitelný jazyk.

Mechanismus vytváření programu

Popíšeme si kroky tvorby programu:

  1. Použijte nějaký editor na sepsání kódu a uložte ho do souboru. Toto je zdrojový kód vašeho programu (myšleno napsat pár řádků textu například do poznámkového bloku).
  2. Přeložte zdrojový kód. To dělá zmíněný kompilátor – přeloží zdrojový kód do strojového jazyka. Nyní máte objektový kód vašeho programu.
  3. Sestavte objektový kód spolu s dalšími kódy (knihovnami) – funkcemi. Tímto vytvoříte spustitelnou verzi programu – proveditelný kód.

Jak tedy postupovat

My tyto kroky budeme dělat v jednom programu. Na výběr máme z více produktů – Microsoft Visual C++ 6.0, Dev-C++, Borland C++ či GNU C++ na Unixu nebo Linuxu. Přípony zdrojového kódu bývají většinou *.cpp, *.h, *.c –jsou závislé na implementaci C++. My se budeme zabývat tvorbou programů pod Dev-C++, který je zdarma ke stažení. V sekci Download naleznete odkaz na odzkoušenou verzi, kterou používám já. Není nejnovější, ale spustíte na ní vše, co zde uvidíte, proto ji doporučuji. O nic ochuzeni nebudete. Dále ještě popíšu, jak na práci s Microsoft Visual C++ 6.0 –tam je to složitější –či jak na gcc.

Dev-C++

Kde ho seženu: zdarma ke stažení v sekci Download
Čeština: ano
Velikost: cca 7,6 MB
Velmi kvalitní editor i kompilátor dohromady. Je zdarma a navíc česky. Spustíme program, Klikneme na Program → Nový → Zdrojový kód nebo použijeme zkratku v navigační liště či Ctrl + N. Do okna vepíšeme náš zdrojový kód a stiskneme F9. Budeme dotázáni, kam chceme uložit zdrojový soubor, objektový kód a nakonec i spustitelný program (.exe), poté se program sám zkompiluje a zároveň se nám i spustí.

Visual C++ 6.0

Kde ho seženu: nutno zakoupit si sadu Visual Studio C++ 6.0
Čeština: ne
Velikost: cca 3 CD komplet
Editor a kompilátor z dílny MS, kvalitní, obtížnější manipulace pro začátečníka, anglicky. Spustíme Visual C++ (najdeme ho ve Start nabídce pod záložkou Visual Studio 6.0), klikneme na File → New → záložka Files → vybereme C++ Source file a do okna vepíšeme zdrojový kód. Poté stiskneme F5 (zeptá se nás to, zda chceme zapnout pracovní plochu, dáme ano, poté kam uložit daný soubor a nakonec se program zkompiluje a spustí.

GCC

Kde ho seženu: integrován v Linuxu
Čeština: ne (starší verze částečně počeštěné)
Velikost: cca 8,5 MB
Je v každé distribuci Linuxu. Vytvořil ho Richard Stallman - vůdčí osobnost Free software foundation a propagátor GNU. Používá ho integrované vývojové prostředí Kdevelop, které je zdarma. Založíme projekt, vepíšeme kód, zadáme automake, autoconfigure a compile a máme spustitelný kód. Navíc i skript configure, pomocí kterého si to kdokoli zkompiluje.

Pojmy

  • Compile – znamená přeložit kód, který jste právě napsali.
  • Build – přeložit zdrojové soubory.
  • Link – sestavení objektového kódu s dalšími kódy.
  • Run nebo Execute – znamená spustit program, vykonat ho.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Game o stupeň výše a vyvíjí pro něj nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Seznamte se s open source platformou NopCommerce – 1. díl

Seznamte se s open source platformou NopCommerce – 1. díl

Hledáte e-commerce řešení, které si dokážete přizpůsobit podle vašich požadavků? Chcete čistý a srozumitelný kód, se kterým bude radost pracovat? Prozkoumejte s námi možnosti open source projektu NopCommerce. Seriál programování pod NopCommerce Vám pomůže překonat první kroky nejistoty a úspěšně zvládnout vývoj pod platformou NopCommerce.

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý