Trendy v programovaní aplikácii
Tento seriál bude obsahovať ucelenú teóriu dôležitú pre prácu s jazykom C++. Áno, môžete si povedať, že sú mnoho prameňov o jazyku C++ tak načo ďalšia nudná teória? Zdrojov o jazyku C++ je mnoho a častokrát začiatočník sa stratí v záplave informácii. Niektoré návody sú neprehľadne, slabo vysvetlené a keď sa ide na drsné programovanie, tak človek často krát zlyháva.
Sám ten pocit poznám a zažil. Preto sa budem snažiť pre začiatočníkov napísať čo najstručnejšiu ale zároveň najnutnejšiu teóriu s mnohými príkladmi. Niektoré články budú orientované len na príklady. Pretože bez cvičenia zaujímavých problémov sa nikto algoritmický nenaučil myslieť.
Jedná vec je sa naučiť sa syntax a teóriu okolo jazyku C++, druhá vytvárať rôzne postupy vykonávania programu na riešenie daných problémov. To druhé je neporovnateľné komplikovanejšie.
Napríklad povedzme, že poznáte syntax jazyka C++ pokročilo. Dostali by ste úlohu, utriediť pole pomocou InsertSortu. Len syntax jazyka vám nepomôže k vyriešeniu zložitejších problémov.
V posledných rokoch vám v komerčnej sfére nepomôže ani dokonalé poznanie mnohých dôležitých algoritmov. Keďže ako sme si povedali v minulej časti, jazyk C++ v sebe obsahuje objektovo-orientovaný návrh aplikácii, ktorý silno podporuje komponenty. Algoritmy ako BubbleSort či nájdenie determinantu štvorcovej matice sú súčasťou komponentov, ktoré už niekto vytvoril a otestoval ich funkčnosť.
Bez nutnosti často krát ťažkopádneho vytvárania algoritmov stačí len nájsť komponent (napríklad na stránke github) a použiť ho. V súčasností je treba ovládať viacero technológii, ktoré pomerne jednoducho implementujú mnoho veci z rôznych jazykov naraz. Čo je obrovská úľava narozdiel od programovania v minulosti.
Poznámka šéfredaktora: Při používání cizích komponent je potřeba si dát pozor na licence. Používáte-li například komponenty pod licencí GNU GPL, musí být pod touto licencí celý program.
Niekto môže vytvárať algoritmus BubbleSortu 3 dni, niekto ale môže poznať technológiu s komponentom a za 5 minút má splnenú úlohu. V budúcnosti sa bude vplyv technológii zvyšovať a programovanie bude takmer len o copy/paste. Ale pozor, programátor musí rozumieť tým komponentom, ako fungujú a kde sú nasaditeľne, inak je vám komponent zbytočný.
A tak vás chcem povzbudiť začiatočníci, že treba skúšať a popasovať sa s algoritmickým myslením. Ak si ho vycibríte, používanie komponentov bude pre vás veľmi jednoduché a na tom môžete založiť i vaše živobytie.
Štandard ANSI/ISO
Tak, ako i iné programovacie jazyky, jazyk C++ má tiež svoj medzinárodný štandard.
Medzinárodný štandard vytvorila komisia Accredited Standards Comittee, ktorá pracovala pod ústavom pre štandardizáciu American National Standards Institute.
Na tento štandard sa odkazuje ako na štandard ISO. Ako aj v minulom diele bolo spomenuté, medzinárodný štandard bol štyri krát aktualizovaný v rokoch 1998, 2003, 2011 a naposledy v roku 2014. Štandardy presne popisujú, ako jazyk funguje a pri aktualizácie štandardu i jeho nové vlastnosti.
Vytvárame programy v jazyku C++
Ako začať programovať v jazyku C++? Najprv si je dobre položiť otázku, aký problém chcete vyriešiť? Ako sa mi tušíte, dôležité je navrhnúť si aplikáciu. Či už pomocou vývojových diagramov alebo rôznych schém.
Analýza a pochopenie problému je veľmi dôležité pri vytváraní aplikácie. Zvlášť pri komerčnej. Každý program by mal mať zrozumiteľný a jasne formulovateľný cieľ. Predpokladajme, že máte vytvorený návrh aplikácie. Čo ďalej?
Druhým bodom v programovaní je zapisovať zdrojový kód do nejakého editora. Či už to je obyčajný textový editor alebo integrované vývojové prostredie (IDE), je len na vás, čo si vyberiete.
Tretím bodom je skompilovať zdrojový kód. Kompilátor vytvorí objektový kód a zároveň spustiteľný aplikačný súbor/program. Spustiteľný súbor je tvorený mixom štandardného štartovacieho kódu, objektového kódu a objektovým kódom funkcii. Objektový kód funkcii obsahuje rôzne knižnice a rutinné práce ako výpis na obrazovku formou funkcii.
Kompilácia pod Linuxom
Pri písaní názvov súborov zo zdrojovými kódmi je potrebné dávať pozor na sufix (prípona). Majme napríklad meno súboru mojaAplikacia.cpp. Pred bodkou je meno súboru, tam žiadne obmedzenie sa nekladie. Za bodkou je sufix cpp. Kompilátoru tak ukážeme zdrojový kód s implementáciou C++.
Na kompiláciu pod Linuxom budeme používať kompilátor GNU C++. Všetky zdrojové kódy objavené v seriáli o jazyku C++ budú kompilovateľné pod GNU C++. Môže sa stať, že niektoré implementácie môžu vyžadovať špecializované knižnice ale nezúfajte, upozorníme na to a ponúkneme i návod na inštaláciu knižníc.
V prípade ak nemáte nainštalovaný GNU C++ kompilátor, tak v OS Linux Ubuntu a Debian postupujte nasledovne:
$ sudo apt-get update $ sudo apt-get install g++
Poznámka šéfredaktora: Uvedeným postupem se nainstaluje nejnovější verze dostupná v dané distribuci a bude se udržovat aktuální. Lze instalovat konkrétní verzi kompilátoru, ale takový postup je vhodný jen v případě potřeby specifické verze. Při instalaci g++ se přes závislosti nainstalují i další potřebné balíčky, například s preprocesorem, linkerem nebo standardními knihovnami.
Majte vytvorený C++ súbor s názvom mojaAplikacia.cpp
a chcete ho skompilovať. Zadajte do príkazového riadka (musíte sa nachádzať v priečinku, kde sa nachádza zdrojový súbor) tento príkaz:
$ g++ mojaAplikacia.cpp
g++ je odkaz na kompilátor jazyka C++ a mojaAplikacia.cpp
je meno súboru, ktorý chceme skompilovať. Pri kompilácii nám linker vytvorí spustiteľný súbor s menom a.out
. Ak nechceme, aby spustiteľný súbor sa volal a.out
, tak použijeme príkaz takýto:
$ g++ mojaAplikacia.cpp -o mojaAplikacia
Prvú časť príkazu už poznáte, druhá len pomenuje spustiteľný súbor. Napísať parameter -o pri pomenovaní súboru je nutné.
V ďalšej časti seriálu už pôjdeme ostro programovať.