IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - Úvod do jazyka C ++

Vitajte u prvej lekcie on-line kurzu o programovaní v jazyku C ++. Budeme sa učiť postupne, od úplných začiatkov až po zložité konštrukcie, objektové modely, ukazovatele a napr. Prácu so súbormi. S trochou trpezlivosti a vytrvalosti sa z teba tak stane dobrý programátor.

Na úplný úvod je vhodné spomenúť, že jazyk C ++ je veľmi komplexná a pravdepodobne vôbec jeden z najťažších jazykov na naučenie. Kombinuje vysokú rýchlosť jazyka C s novým objektovo orientovaným prístupom moderných jazykov ako napr. Java, C # .NET alebo PHP. Je veľmi dobrou voľbou pre aplikácie, ktoré vyžadujú vysoký výkon (napr. Webové prehliadače alebo AAA hry) alebo pre špecifické systémové knižnice, napr. Prácu so zvukom alebo videom. Ak neplánujete vyvíjať práve tieto náročné aplikácie, bude pravdepodobne rozumnejšie uchýliť sa radšej k nejakému z modernejších jazykov, spomenutých vyššie. Ak je vyvíjať plánujete, ste na ceste stať sa skutočným profíkom v odbore, aj keď to bude pomerne ťažká práca.

Aby sme plne porozumeli jazyku C ++, obzrie sa do minulosti na to, ako sa programovacie jazyky vyvíjali. Bude pre nás totiž dôležité pochopiť, ako C ++ pracuje.

Vývoj programovacích jazykov

1. generácie jazykov - Strojový kód

Procesor počítača vie vykonávať len obmedzené množstvo jednoduchých inštrukcií, ktoré sú uložené ako sekvencie bitov, sú to teda čísla. Tá sa mu zvyčajne zadávajú v hexadecimálne (šestnástkovej) sústave. Inštrukcie sú tak elementárne, že umožňujú iba napr. Sčítanie adries alebo skoky medzi inštrukciami. Nemožno napr. Jednoducho sčítať dve čísla, musíme sa na čísla pozerať ako na adresy v pamäti a také sčítaní čísel zaberie niekoľko inštrukcií. Program sčítající dve čísla by vyzeral napr. Takto:

2104
1105
3106
7001
0053
FFFE
0000

Inštrukcie sa procesora predloží v binárnej podobe. Takýto kód je samozrejme extrémne nečitateľný a závisí na inštrukčnú sade daného CPU. Určite v tomto jazyku nebude jednoduché tvoriť nejaké programy, bohužiaľ každý program musí byť nakoniec do tohto jazyka preložený, aby mohol byť na procesore počítača spustený.

strojový kód - Základné konštrukcie jazyka C ++

2. generácia jazykov - Assembler

Assembler (skrátene ASM) nie je o nič jednoduchšie, než strojový kód, ale je ľudsky čitateľný. Jedná sa o strojový kód, v ktorom majú inštrukcie slovné označenie (kód), čiže si človek nemusí pamätať čísla. Kódy inštrukcií sa potom preloží na vyššie uvedený strojový kód. Rovnaký program by v ASM vyzeral takto:

ORG 100
LDA A
ADD B
STA C
HLT
DEC 83
DEC –2
DEC 0
END

Vidíme, že je to trochu ľudskejší, ale stále nezainteresovaní ľudia vôbec netušia, ako program funguje (vrátane mňa).

3. generácie jazykov

Jazyky v tretej generácii konečne ponúka užívateľovi určitú abstrakciu nad tým, ako program vidí počítač, zameriavajú sa na to, ako program vidí človek. Naše čísla sú vnímaná už ako premenné, zdrojový kód pripomína matematický zápis.

Sčítaní dvoch čísel by v jazyku C vyzeralo takto:

int main(void)
{
    int a, b, c;
    a = 83;
    b = -2;
    c = a + b;
    return 0;
}

Všetci asi tušíme, čo program robí, spočíta čísla 83 a -2 a výsledok uloží do premennej c. U všetkých jazykov tretej generácie je samozrejme výhodou vysoká čitateľnosť. Určite si dokážete predstaviť, akú revolúciu v programovaní jazyk C spôsobil, aj keď nebol zďaleka prvým jazykom tohto typu.

Céčko navrhol Dennis Ritchie, tvorca operačného systému UNIX, v 70. rokoch 20. storočia. Práve celý UNIXový kernel je v céčku naprogramovaný, čo pravdepodobne stojí za jeho veľkým rozšírením a tiež poukazuje na extrémne výkonnosť tohto jazyka. C ++ stavia na jazyku C (príkaz ++ vykoná v jazyku C zvýšenie hodnoty o 1, názov teda označuje niečo ako lepšia céčko).

Kompilované jazyky

Kompilované (neriadené) jazyky majú svoj zdrojový kód v jazyku, ktorému ľudia dobre rozumie. Tento zdrojový kód sa samozrejme musí preložiť do strojového kódu, aby ho bolo možné na procesore spustiť. Tento preklad zaisťuje prekladač (kompiler), ktorý preloží naraz celý program do stroj. kódu.

Kompiler - Základné konštrukcie jazyka C ++

Objektovo orientované programovanie

Objektovo orientované programovanie (OOP) je kľúčová vlastnosť jazyka C ++, ktorú k C pridáva. C ++ je vlastne jazyk C s ďalšou syntaxou (príkazy) navyše. To umožňuje C ++ kompilovať všetky programy v C a tiež používať céčkové knižnice. OOP umožňuje vytvárať aj komplexné aplikácie extrémne čitateľné a udržiavateľné pomocou rozdelenia na komunikujúce objekty. Tieto vlastnosti robia z C ++ rýchly a moderný jazyk. Bohužiaľ je ale stále považovaný zároveň za ťažký jazyk a používa sa najmä pre špecifické účely.

Ten istý program pre sčítaní čísel 83 a -2 by s využitím OOP vyzeral v C ++ asi takto:

#include <iostream>
using namespace std;

class Kalkulacka
{
public:
    int secti(int a, int b);
};

int Kalkulacka::secti(int a, int b)
{
    return a + b;
}

int main(void)
{
    Kalkulacka kalkulacka;
    int c = kalkulacka.secti(83, -2);
    cout << "Výsledok:" << c;
    cin.get();
    return 0;
}

Všimnite si, že sa už Nejde len o čistý algoritmus, ale pridávame ďalšiu vrstvu abstrakcie, ktorú je volanie funkcií na objekte kalkulačka. Samozrejme, že to tu nedáva pre tak jednoduchú úlohu, ako je sčítaní 2 čísiel, príliš veľký zmysel. Komplexné algoritmy sú takto však niekoľkonásobne čitateľnejší. V základoch C ++ OOP zanedbáme a budeme sa sústrediť hlavne na základnej syntax C ++. OOP je potom detailne venovaný samostatný nadväzujúci kurz.

Garbage Collector

Čo C ++ postráda je tzv. Garbage Collector, ktorý v moderných jazykoch automaticky uvoľňuje pamäť, ktorú náš program využíva. C ++ nič také neposkytuje, čo ho robí rýchlejšie, ale aj oveľa nebezpečnejší, pretože upratovanie pamäti zostane na programátorovi. Toto je pravdepodobne najväčšia odlišnosť C ++ pri porovnaní s modernými programovacími jazykmi a jedná sa o výhodu a zároveň nevýhodu. Získavame rýchlosť, ktorá je vykúpená zložitejším kódom.

Teraz sme teda oboznámení s tým, čo nás čaká. V budúcej lekcii, Visual Studio a prvý konzolová aplikácie v C ++ , si nainštalujeme všetky potrebné nástroje a vytvoríme svoj prvý program.


 

Všetky články v sekcii
Základné konštrukcie jazyka C ++
Preskočiť článok
(neodporúčame)
Visual Studio a prvý konzolová aplikácie v C ++
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
10 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity