Vznik a historie jazyka C++
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vznik a historie jazyka C++Vznik a historie jazyka C++

 

Vznik a historie jazyka C++

Google       Google       26. 6. 2006       30 259×

Tak začneme… V tento prvý deň sa iba zoznámime s tým, čo to vlastne C++ je a kde vzniklo. V tomto seriálu budem zadávať rôzne poznámky alebo výstrahy iba pre zaujímavosti. V každej lekcii vám na začiatku budem vypisovať body, ktoré preberieme.ríprava na písanie programu

Reklama
Reklama

História C++

Od dôb prvých elektronických počítačov, určených k výpočtom 2 + 2, ktoré fungovali ako kalkulačka behom druhej svetovej vojny, prežili počítačové jazyky dosť dramaticky vývoj.

Na začiatku pracovali programátori s najprimitívnejšími inštrukciami počítača – s takzvaným strojovým jazykom. Tieto inštrukcie vyzerali ako dlhé reťazce núl a jednotiek. Potom vznikol prvý strojový jazyk assembler, ktorý prevádzal tieto reťazce do zrozumiteľnej podoby.

Časom vznikli vyššie jazyky ako BASIC a COBOL. Tieto jazyky umožňovali komunikovať už  zrozumiteľnými, prevažne anglickými, príkazmi, ktoré boli prostredníctvom kompilátoru spätne preložené do strojového jazyka. Kompilátor kód preloží do takzvaného objektového súboru, ktorý ešte nie je spustiteľný, tento krok sa nazýva kompiláciou. Potom kompilácia spustí zostavovací program (linker), ktorý objektové programy zostaví do programu.

Kompilátory zo sebou prinášajú krok naviac - kompiláciu. Tenko krok je nepohodlný, ale skompilované programy bežia rýchlejšie, pretože časovo náročná úloha preloženia zdrojového kódu do strojového sa spraví iba raz, potom pri spustení programu sa nevyžaduje.

Dlhé roky bolo najdôležitejšie písať krátke úseky kódu, ktoré sa uskutočnia čo najrýchlejšie. Program musel byť malý, pretože pamäť bola drahá a tiež strojový čas bol drahý. Ale v dnešnej dobe sa smer zmenil. Teraz kód, ktorý je dobre napísaný a ľahko sa udržuje, je cenený najviacej. Tým sa myslí, že pri zmene požiadaviek sa dá ľahko upraviť bez veľkých investícii.

Slovo program sa používa vo dvoch významoch: Ako označenie jednotlivých inštrukcií vytvorených programátorom a ako označenie celého úseku spustiteľného kusu softwaru.

Problémy, pred ktorými dnes programátor stojí, sú úplne iné, ako boli pred 20 rokmi. Vtedy sa písali programy, aby spracovávali obrovské haldy dát. Ale dneska používa počítač asi každý tretí človek na našej malej planéte. Dneska počítač slúži v najrôznejších odvetviach. A veľa ľudí nemá chuť s nimi zápasiť. A preto sme tu my, programátori, ktorý im to chceme uľahčiť.

Až donedávna sa za program považoval súhrn procedúr, ktoré spracovávali dáta. Procedúrou alebo funkciou myslíme sadu stanovených inštrukcií, ktoré sa majú spustiť. Snaha o zvládnutie tejto potencionálne neprehľadnej situácie viedlo k vzniku štruktúrovaného programovania. Základná myšlienka tu je: „Rozdel a panuj!“. Na počítačový program sa môžete pozrieť ako na sadu úloh. Každá zložitá úloha sa rozdelí vždy na viac jednoduchých úloh. Štruktúrované programovanie zostáva veľmi populárne, ale koncom 80. rokov sa začali ukazovať nedostatky.

Po prvé, je prirodzené uvažovať o nejakých dátach (záznamoch) ucelene, čiže čo s nimi je možné urobiť. Ale štruktúrované programy bohužiaľ majú dátové štruktúry oddelené od funkcií, ktoré s nimi pracujú a neexistuje tu žiadny spôsob, ako ich spojiť. Štruktúrované programovanie sa často označuje aj ako procedurálne programovanie, lebo sa sústreďuje na procedúry.

Za druhé, každý programátor hľadá znovu riešenie starých problémov. Myšlienka, skrývajúca sa za opakovateľným používaním kódu, spočíva v tom, že vytvorené procedúry majú presne definované vlastnosti a je možné zabudovať ich do programu podľa potreby.

Objektovo orientované programovanie sa pokúša tieto požiadavky splniť a dáva techniky, vďaka ktorým môžeme zvládnuť aj zložité úlohy. Účelom je dosiahnuť určitý model (objekt), ktorý má určité charakteristické vlastnosti a schopnosti.

C++ a objektovo orientované programovanie

C++ v plnej miere podporuje objektovo orientované programovanie v týchto troch pilieroch:

  • Zapúzdrenie

    Ak napríklad elektrikár potrebuje rezistor, nejde si ho vyrobiť, ale iba si nájde ten, ktorý mu najviac vyhovuje a spravidla ho netrápi, ako sa vyrába. Tejto technike sa hovorí zapúzdrenie. S pomocou zapúzdrenia je možné objekt použiť bez toho, aby užívateľ nevedel, ako funguje. Všetky jeho vlastnosti sú taktiež zapúzdrené v jeho vnútri, takže mi si ho vyberieme iba podľa toho, či nám jeho vlastnosti vyhovujú alebo nie.

  • Dedičnosť a opakované používanie

    Takže ak si chce elektrikár vylepšiť vlastnosti rezistoru, tak to môže urobiť tak, že k nemu pridá ďalšiu súčiastku, ktorá jeho vlastnosti mení. Čiže užívateľ môže každému rezistoru ľubovoľne pridávať ďalšie vlastnosti. Ak deklarujeme nový typ v C++, je možné ho ľubovoľne rozšíriť.

  • Polymorfizmus

    Ak zapojíte nový upravený rezistor, môže sa líšiť napätie na konci obvodu od napätia, ktoré pretekalo pri zapojení starého rezistoru, ale pri extrémnych prúdoch bude napätie rovnaké. C++ podporuje myšlienku, že rôzne objekty robia vždy tú správnu vec, prostredníctvom polymorfizmu tried a funkcií, tým rozumieme, že rovnaké meno môže mať veľa foriem.

Príprava na písanie programu

Pre jazyk C++ platí viac ako pre ostatné jazyky, že programátor by si mal vypracovať nejaký návrh. U triviálnych príkladov to nebude až také nutné, ale čím pôjdeme ďalej, tak budete potrebovať návrh, ktorý vám objasní celý kód. Musíte si dať prvú aj základnú otázku: „Aký problém sa pokúšam vyriešiť?“ U každého programu musí byť jasná odpoveď.

Ideme na vývojové prostredie. Ja osobne dávam prednosť Miscrosoft Visual C++ 6.0 Introductory Edition. Je to prostredie dostupné nekomerčnému využitiu; ak ho nezoženiete na stránke Microsoftu, požiadajte, ja vám dám link, kde sa dá stiahnuť. Ďalším známym a free kompilátorom C++ je Dev-C++ , ktorý je tiež pre nekomerčné účely. Hneď po začatí krzu vám tieto dva kompilátory predvediem na prvej ukážke.

U väčšiny kompilátorov C++ nezáleží na tom, akú príponu zdrojovému súboru pripojíme, ale skúste používať príponu .cpp. Ale na druhej strane, dajte si pozor hlavne staršie kompilátory. Spracúvajú súbory s príponou .c!

Vytvorenie objektového súboru kompilátorom

Kompilátor slúži k prevedeniu zdrojového kódu na program. Spôsob spustenia kompilátoru sa v každom programe líši. Napríklad vo Visual C++ je to F5 a u Dev-C++ F9.

Výsledkom kompilácie zdrojového kódu je objektový súbor. K názvu tohto súboru sa zvyčajne pridáva prípona .obj. Stále sa však nejedná o spustiteľný program. Ten získame až po spustení zostavovacieho programu (linkeru).

Vytvorenie spustiteľného programu linkerom

Pre programy v C++ je typické, že sa vytvára prepojenie jedného alebo viacerých objektových súborov s jednou alebo viacerými knižnicami. Knižnicou rozumieme sbierku pripojiteľných súborov, ktoré sú buď súčasťou vášho kompilátoru, alebo ste ju sami vytvorili. Každý kompilátor je vybavený knižnicami, praktickými funkciami a triedami, ktoré sa môžu stáť súčasťou vášho programu.

Postup pri vytvorení programu je takýto:

  • Vytvorte zdrojový súbor s príponou .cpp.
  • Tento zdrojový súbor skompilujte do súboru s príponou .obj.
  • Prepojte súbory .obj s všetkými knižnicami, čím vytvoríme spustiteľný program.

Čiže to by bolo dosť na prvý deň našej spolupráce. Nabudúce začneme naším prvým programom a celý si ho troška rozoberieme. Uloha zatial nebude.

×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
Autor rád robi vsetko co ho napadne vramci IT.

Nové články

Obrázek ke článku NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

Reklama
Reklama
Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý