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       34 511×

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

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 Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

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