cool web a perfektni rs- Doporucuji

Sunday, September 09, 2007

C

je univerzalni programovaci jazyk. Je uzce spjat s opera- cnim systemem UNIX, protoze byl vyvinut v tomto systemu a take operacni system UNIX a jeho programove vybaveni je napsano v jazyku C. Jazyk C neni vsak vazan k urcitemu operacnimu systemu nebo urcitemu typu pocitace, prestoze je nazyvan "systemovym programovacim jazykem" a je pouzitelny pro psani operacnich systemu. Je stejne dobre pouzitelny i pro tvoreni programu numerickeho charakteru, programu pro zpracovani textu a hroma- dnych dat. Jazyk C je jazyk relativne nizke urovne. Tento jeho rys ne- snizuje vsak jeho vyznam; je tim receno, ze C pracuje se stej- nou tridou objektu jako vetsina pocitacu tj. se znaky, cisly a adresami. To muze byt kombinovano s obvyklymi aritmetickymi a logickymi operatory implementovanymi na konkretnim poci- taci. Jazyk C nema operace zpracovavajici primo slozene objekty jako jsou retezce znaku, seznamy nebo pole uvazovane jako ce- lek. Neni zde napr. analogie s operacemi jazyka PL/1, ktere zpracovavaji cela pole znaku. Jazyk umoznuje pouze staticke definice obsazeni pameti, neni zde moznost dynamickeho obsazeni pameti a obsazeni volnych mist jako v jazyku ALGOL 68. Konecne, C nema vybaveni pro vstupni a vystupni operace. Nema prikazy READ a WRITE a primy pristup k souborum. Vsechny tyto mecha- nizmy zname z vyssich programovacich jazyku musi byt vykonany explicitne volanim funkci. Jazyk C umoznuje pouze prime jednoduche rizeni behu progra- mu: testy, cykly podprogramy. V tomto jazyce neni mozne uvazo- vat o multiprogramovani, paralelnich operacich nebo synchroni- zaci. Presto,ze nepritomnost techto moznosti muze vypadat jako vazny nedostatek /"To mi chcete rici, ze musim zavolat funkci, kdyz chci porovnat dva retezce znaku?"/, tak udrzeni jazyka na nizsi urovni prinasi opravdu znacne vyhody. Protoze jazyk C je relativne maly, muze byt popsan na male plose a je snadne se mu naucit. Prekladac jazyka C muze proto byt jednoduchy a kompaktni a muze byt snadno vytvoren. Pouzitim soucasnych pos- tupu muze tvorba prekladace pro novy pocitac trvat pouze neko- lik mesicu, protoze 80% prekladace je shodnych jiz s existuji- cimi prekladaci. To je umozneno vysokym stupnem prenositelnosti jazyka. Protoze typy dat a struktury, jake jsou v jazyku C pou- zivany, jsou zajistovany vetsinou pocitacu, tak implementace knihoven je jednoducha. Napr. na PDP 11 obsahuje pouze pod- programy pro nasobeni a deleni 32-bitovych slov a podprogramy pro volani funkci a navrat z nich. Ovsem kazda implementace pocita s kompaktni knihovnou pro vstupy a vystupy, obsluhovani retezcu a operace s pameti. Protoze jsou vsak volany pouze explicitne, mohou byt pripojeny jen kdyz je treba.