přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Úvod a história (2)

POINT.X (2018-19)

Programovanie v jazyku C++: Úvod a história (2)

cplusplus.png

V tomto článku pokračujeme v rozprávaní o histórii programovacieho jazyka C++.


reklama

Objektovo orientované programovanie (OOP)

Štrukturované programovanie v ére najväčšej slávy jazyka C umožňovalo riešiť dovtedy veľmi zložité problémy. Avšak, ako čas plynul, začali sa objavovať prvé nedostatky a to už koncom 80 rokoch.

Prvým vážnym problémom bola separácia funkcii od dátových štruktúr. V štrukturovanom programovaní neexistuje spôsob prepojenia funkcii s dátami. Ďalší problém, ktorý sa začal objavovať je stále sa opakujúce riešenie problémov.

Štrukturované programovanie nepoznalo komponenty, ktoré majú presne definované vlastnosti a je ich možné použiť ľubovoľné a obvykle len s malými úpravami podľa projektu. V štrukturovanom programovaní bolo stále potrebné písať algoritmy a programátori tak znovu objavovali už poznané.

Koľko času by mohli ušetriť využitím komponentov, ktoré sú riadne otestované a preskúšane miesto stáleho písania kódu? Odpoveď je nezanedbateľne množstvo času. Ušetrený čas sa môže využiť na návrh používateľského prostredia či riešenia zložitých problémov. A tak prišla potreba, vyvinúť novú paradigmu programovania.

Objektovo-orientované programovanie je založené na znovu použiteľností kódu. To je základná filozofia objektového prístupu k zdrojovému kódu. Podstatou objektovo orientovaného programovania je modelovanie objektov z reálneho sveta.

Tu už nejde o to, ako svet priblížiť k počítačovému svetu (procesor), ale naopak, aby zdrojové kódy sa priblížili k programátorom. Objektový návrh aplikácie je ako tvorba minisvetu, ktorý ma mnoho spoločného z reálnym svetom. Čo je objekt v tejto paradigme programovania?

Objektom môže byť stolička, mačka, dažďové kvapky, auto, osoba atď. Objektom sa môže stať všeličo, čo verne poznáte. Cieľom je tak zefektívniť programovanie a riešiť veľmi zložité problémy omnoho jednoduchšie, ako to bolo v minulých generáciach prístupov k programovaniu.



Generické programovanie

Jazyk C++ podporuje ďalší prístup k programovaniu. Tento prístup nazývame generické programovanie. S OOP zdieľa mnoho vecí napríklad cieľ vytvoriť jednoduchší kód s podporou znovu použiteľnosti.

Rozdiel medzi OOP a generickým programovaním je v tom, že zatiaľ čo OOP sa sústreďuje na dáta, generické programovanie na šablóny, ktoré zdôrazňujú silu algoritmov.  OOP je vhodné na správu rozsiahlych projektov, generické programovanie pomocou šablón na riešenie prevodu z nekonzistentný úloh do všeobecnej funkcie/predlohy.

Majme takýto príklad. Dátové štruktúry v jazyku C++ sa delia na mnohé typy: celé čísla, racionálne čísla, znaky, reťazce znakov, objekty či užívateľský vytvorené rôzne typy štruktúr.

Predstavte si, že máte úlohu v znení: Utrieďte rôzne typy dátových štruktúr. Museli by ste pre každý typ dát vytvoriť odlišnú triediacu funkciu.  Avšak, tu je veľmi výhodné využiť silu generického programovania, ktorá umožní pomocou jednej funkcie vytvoriť všeobecný neurčený dátový typ a tak utriediť všetky možné kombinácie dát bez potreby písania množstva funkcii.

História jazyka C++

Zrod jazyka C++ sa odohral v Bellových laboratóriach tak ako pri jazyku C. Tvorcom jazyka C++ je Bjarne Stroustrup. Jeho hlavným cieľom bolo rozšíriť funkcionalitu jazyka C a zároveň sa sústredil na vytvorenie užitočného jazyka miesto zamerania sa na úzke programovacie techniky.

Dôležite pre autora bolo, aby jazyk bol nasadený na rôzne zložité problémy. Stroustrup pri vývoji nového jazyka (pôvodne nazvaného „C with Classes“; k premenovaniu na C++ došlo v roku 1983) chcel zachovať mocnú silu štrukturovaného programovania a tak začal nový programovací jazyk stavať z jazyka C. Jazyk C má silnú väzbu na operačný systém UNIX a kompilácia programov je bezproblémová takmer vo všetkých možných procesorových a softvérových platformách.

Meno C++ je odvodené od jazyka C a ++ je inkrement, ktorá zvýši hodnotu určitej premennej o 1. C++ má predstavovať ako rozšírenie jazyka C. V súčastnosti vývoj jazyka C++ je tak ďaleko od jazyka C, že ho už nemôžme považovať za rozšírenú verziu jazyka C. Môžme ho definovať ako plnohodnotný programovací jazyk.

Platí, že každý program jazyka C je kompilovateľný kompilátorom jazyka C++ (až na malé výnimky). Ale neplatí to naopak! Taktiež majú spoločné knižnice. Jazyk C obohacuje jazyk C++ o tesnejšiu väzbu s hardvérom. Takým typickým príkladom je, že výpis na obrazovku v jazyku C++ môžete použiť príkaz printf, ktorá je prítomna v jazyku C.

Stroustrup pridal do jazyka C++ podporu pre objektovo orientované programovanie. Jazyk C++ je hlavne cenený za veľmi dobrú podporu objektov a zároveň je možné komunikovať s hardvérom na nízkej úrovní.

Neskôr bolo do jazyka C++ implementovaná podpora programovania pomocou šablón. Postupným časom pri rozširovaní programovania šablónami a ich vplyv bol väčší a väčší. Dnes má mnoho prívržencov ktorí hovoria, že pridanie šablón do C++ bolo významnejšie, ako podpora OOP.

Poznámka šéfredaktora: Jazyk C++ byl již čtyřikrát mezinárodně standardizován jako norma ISO (v letech 1998, 2003, 2011 a 2014; je zajímavé, že k první standard přišel až po 15 letech existence jazyka). Je to jazyk živý a přibývají v něm nové vlastnosti.

Nahoru

Příspěvky

Programovanie v jazyku C++: Úvod a história (2)
Jano 12. 04. 2016, 08:09:52
Odpovědět  Odkaz 
Kedze som zacal pred pol rokom pracovat ako programator so zameranim na computer vision v C++, tak som sa serialu o tomto jazyku velmi potesil. Co ma ale sklamalo dnes a aj pri uvodnom diele je maly rozsah clanku a vela nezaujimavych informacii(resp. informacie typu wikipedia). No vdaka aj za to malo, niekoho to mozno povzbudi :P

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity