Jazyk: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
-fr:
Riadok 8:
* [[snehový jazyk]] (miesto s väčšou snehovou pokrývkou s pretiahnutým tvarom, zvyčajne na ceste)
* [[jazyk výhybky]] (pohyblivá súčasť výhybky)
1.1 Z histórie jazyka C
 
Programovací jazyk C vznikol na začiatku sedemdesiatych rokov v Bellových laboratóriách firmy AT&T (American Telephone and Telegraph). Autorom prvotného návrhu C je Dennis Ritchie, ktorý v tej dobe spolupracoval s Kenom Thompsonom na návrhu operačného systému UNIX. Pre jeho implementáciu sa autori rozhodli použiť jazyk dostatočne efektívny z hľadiska kódu a pritom nezávislý na konkrétnom procesore. Najprv uvažovali o použití jazyka BCPL (Basic Combined Programming Language), neskôr navrhol K. Thompson variant pod označením jazyk B (1970). V tomto jazyku boli implementované prvé časti OS UNIX. Tento jazyk bol efektívny z hľadiska prekladu, ale nebol dostatočne univerzálny - vyhovoval len na riešenie určitého okruhu problémov. D. Ritchie navrhol preto jazyk s označením C, v ktorom bolo neskôr zapísané asi 90 % kódu OS UNIX (zvyšná časť závisí na hardware konkrétneho počítača a musí byť napísaná v asembleri).
 
Jazyk C nie je rozsiahly, ale nepatrí pritom medzi jazyky, vyznačujúce sa dobrou čitateľnosťou. Svojím pôvodom je zameraný na systémové programovanie. Na jednej strane je ho možné zaradiť do skupiny vyšších programovacích jazykov, na druhej strane je možné program napísaný v jazyku C preložiť do veľmi efektívneho strojového kódu (niekedy sa preto o ňom hovorí ako o štruktúrovanom asembleri). Jazyk C má pomerne málo jednoduchých pravidiel, pomocou ktorých je možné vytvárať a skladať jednotlivé úseky programov do väčších a väčších celkov.
 
Jazyk C sa ďalej mierne vyvíjal. V roku 1978 napísali Ritchie a Kernighan knihu Programovací jazyk C, ktorá sa stala štandardom staršej verzie jazyka. V dnešnej literatúre sú na tento štandard referencie pod označením Kernighan - Ritchie C, resp. K & R. V roku 1984 vzniká prvá verzia americkej národnej normy jazyka pod označením ANSI C, ktorá mala nevýhodu najmä v slabšej typovej kotrole Od tejto chvíle dochádza k určitému oddeleniu jazyka C od OS UNIX a jazyk sa začína vyvíjať ako samostatný produkt. Definitívna verzia normy ANSI C vyšla vo februári 1990 pod označením X3J11 / 90 - 013 [Richta93]. Zavedením prísnejšej typovej kontroly pri volaní funkcií a vyhodnocovaní výrazov nie je možné napr. volať funkciu skôr, ako sa uvedie jej deklarácia alebo priamo definícia.
 
Jazyk C je implementovaný pre všetky typy procesorov a spolu so systémom UNIX predstavuje dnes jeden z hlavných trendov vo svete. Vznikol tiež celý rad rozšírení jazyka C - napr. Objective C pre objektové programovanie, Concurrent C pre paralelné programovanie, ale najperspektívnejším sa zdá byť objektovo orientované rozšírenie jazyka pod označením C ++ (označenie vychádza zo syntaxe jazyka C a znamená prechod na nasledujúci prvok), ktoré navrhol Bjarne Stroustrup z AT&T pri vývoji riadiaceho systému pre telefónne ústredne [Mareš94]. Do jazyka boli pridané konštrukcie pre tvorbu obecných funkcií a tried (šablony) a pre spracovanie výnimočných stavov. V súčasnej dobe ešte nie je oficiálne vydaná norma C++ a ako štandardná implementácia pre ostatné kompilátory slúži prekladač použitý na systéme USL firmy AT&T. Je to len preprocesor, ktorého výstupom je kód v jazyku C; preto sa tento preprocesor označuje ako Cfront. Komisie ANSI a ISO, ktoré pripravujú normu jazyka C++ (označuje sa ako ANSI/ISO C++), sa opierajú predovšetkým o knihu The Annotated C++ Reference Manual od Ellisa a Stroustrupa, vydanú v r. 1990 nakladateľstvom Addison - Wesley. Táto norma bola oficiálne prijatá až okolo roku 1996. Kompilátory jazyka C++ dnes ponúkajú všetky významné firmy (Borland - Borland C++, Microsoft - Microsoft Visual C++). V súčastnosti sa kladie veľký dôraz na objektovo orientované programovanie (OOP), podporu databáz priamo cez ovládač v operačnom systéme ODBC (Open Database Connectivity), poprípade DAO (Data Access Object) a taktiež na podporu výmeny objektov medzi aplikáciami OLE (Object Link Embedding) alebo DDE (Dynamic Data Exchange).
1.2 Štruktúra programu v jazyku C
 
Základnou programovou jednotkou v jazyku C je funkcia. Veľké množstvo štandardných funkcií je predom pripravených v knižniciach prekladača. Tieto funkcie vychádzajú na jednej strane z príslušnej normy ANSI, na druhej strane z "kuchyne" firmy - autora kompilátora. Každá štandardná funkcia je spravidla sprevádzaná svojím tzv. include - súborom (jedným alebo viacerými). Tento súbor má príponu .h od slova header (hlavička) a obsahuje súhrn informácií o určitej skupine štandardných funkcií (ich definície, globálne premenné a pod). Do zdrojového textu programu sú tieto súbory zaradené pomocou príkazu preprocesora #include (podrobnejšie viď kap. 2). Rovnakým spôsobom môžu byť do zdrojového textu programu zaradené užívateľom definované funkcie (podprogramy), ktoré je tiež možné združovať do knižnice.
Ďalším objektom, ktorý sa môže vyskytovať v štruktúre programu v jazyku C, sú globálne dátové objekty, ktoré sú dostupné vo všetkých funkciách daného programu. Doporučujeme však použitie týchto globálnych premenných vynechať, resp. obmedziť, pretože zhoršujú možnosti štruktúrovania programu.
Program v jazyku C je teda súhrnom definícií funkcií a deklarácií globálnych objektov. Jedna z funkcií sa musí volať main (označuje hlavný program). Jazyk C je typický svojou blokovou štruktúrou (napr. telo každej funkcie tvorí jeden blok). Blokom je zdrojový text, uzavretý v dvojici zátvoriek {, }. V rámci bloku je možné pracovať s globálnymi i lokálnymi premennými, ktoré sú definované len v rámci bloku (lokálne môžu byť len dátové objekty, všetky funkcie sú vždy globálne).
 
== Iné projekty ==