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

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

 

Vznik a historie jazyka C++

Google       Google       26. 6. 2006       31 066×

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 První český hackathon ve vlaku inspirovaly služby jako  Tinder, Airbnb nebo Uber

První český hackathon ve vlaku inspirovaly služby jako Tinder, Airbnb nebo Uber

Patnáct set kilometrů, cesta přes dva státy, šestnáct hodin programování a přísun energy drinků, tak by se dal shrnout unikátní hackathon ve vlaku pořádaný Kiwi.com. Z Prahy do Košic a zpět se svezlo celkem 13 týmů, každý s originálním nápadem. Hlavní výhru, voucher na letenky v hodnotě 2 500 EUR, si v Praze převzal tým až z Ukrajiny.

Reklama
Reklama
Obrázek ke článku Gamifikace nakupování dorazila i do České republiky

Gamifikace nakupování dorazila i do České republiky

Zákazníci zejména retailových společností jsou často znuděni klasickými věrnostními či motivačními programy. Většinou z toho důvodu, že jsou jeden jako druhý a nepřináší nic nového. Ale i v České republice se projevují zahraniční trendy, nedávno zde totiž vstoupila na trh a rychle se uchytila nová platforma kombinující to nejlepší z věrnostních a motivačních programů, která navíc využívá prvky gamifikace – Rondo.cz. Na hlavní milníky vývoje nálad a motivace zákazníků a nejnovější trendy se zaměřil Jan Hřebabecký, spoluzakladatel Rondo.cz

Obrázek ke článku NopCommerce – datová vrstva a přístup k datům – 2. díl

NopCommerce – datová vrstva a přístup k datům – 2. díl

V minulém článku jsme si představili platformu NopCommerce z globálního pohledu. V dnešním díle se již zaměříme na konkrétní část systému, a to datovou vrstvu. Představíme si základní stavební kameny systému v podobě doménových objektů. Ukážeme si, jakým způsobem rozšířit doménové objekty a jakým způsobem přistupuje NopCommerce k nastavení systému a modulů.

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