A. Lutonského 716/11, Liptovský Mikuláš 031 01, SR
0911 803 335   

Delenie programovacích jazykov

Delenie programovacích jazykov

Chcel by som nadviazať na minulý článok  pri ktorom som sa zameriaval na históriu programovacích jazykov ale v tomto článku Vám niečo poviem ako sa delia. 

 b2ap3_thumbnail_stiahnu-6.jpgb2ap3_thumbnail_stiahnu-5.jpgb2ap3_thumbnail_stiahnu-3.jpg

Najprv by som chcel začať tým , že delíme iba jazyky tretej generácie. A tieto jazyky delíme do takých 3 hlavných skupín.

1.Kompilované jazyky 

Kompilované ( neriadené ) jazyky majú  svoj ​​zdrojový kód v jazyku ,ktorému ľudia dobre rozumejú . Tento zdrojový kód sa samozrejme musí preložiť do strojového kódu , aby ho bolo možné ho na procesore spustiť . Tento preklad zaisťuje prekladač takzvaný kompiler , ktorý preloží naraz celý program do stroj. kódu.

Kompilácia (teda tento typ prekladu )  má tieto výhody:

  • Rýchlosť - Jediné zbrzdenie je v jednorázovej  kompilácii (teda v jednorazovom preklade) preložený program potom ide tak rýchlo , ako keby bol napísaný napr. v ASM .

  • Neprístupnosť zdroj. kódu - Program sa šíri už s kompilovaný, nie je  ho možné jednoducho modifikovať (meniť) pokiaľ nevlastníte jeho zdroj. kód.

  • Ľahké odhalenie chyb v zdroj. kódu - Pokiaľ zdrojový kód obsahuje chybu, celý proces kompilácie spadne a programátor je s chybou oboznámený.To veľmi  zjednodušuje vývoj.

Potom sú tu aj samozrejme nevýhody:

  • Závislosť na platforme - Program je stále závislý na platforme, teda od
    typu procesora a od operačného systému. Skompilovaný program nemôžeme
    vziať a preniesť na inú platformu bez toho, aby bol na tejto platforme
    skompilovaný.

  • Nie je možná editácia - Keď sa program raz skompiluje do zdrojového kódu, nemožno ho editovať inak, než opätovnou kompiláciou.

  • Memory management - Vzhľadom na to, že počítač danému programu nerozumie a len mechanicky vykonáva inštrukcie, môžeme sa niekedy stretnúť s veľmi nepríjemnými chybami s pretečením pamäte. Kompilované jazyky zvyčajne nemajú automatickú správu pamäte a sú to jazyky nižšie (s nižším komfortom pre programátora). Behové chyby spôsobené najmä zlou správou pamäte sa pri kompilácii neodhalia.

    Príkladom kompilovaných jazykov sú napr. Jazyk C, jeho následník C ++ alebo Pascal / Delphi.

 

2.Interpretované jazyky

Interpretácia sa snaží riešiť problém s prenosom programov medzi rôznymi platformami a tiež prichádza s vyšším komfortom pre programátora. Interpret funguje podobne, ako kompiler, len neprekladá program celý naraz, ale prekladá len to, čo je v danej chvíli potrebné. (Interpreter znamená v angličtine tlmočník, teda najprv vypočuje jednu vetu hovorcu a tú potom preloží a vysloví. Preklad prebieha počas príhovoru, teda behu programu, po vetách / inštrukciách. Kompiler / prekladač preloží rozhovor celý naraz a potom ho celý prečíta.).  


Aké môže mať teda tento postup výhody? Je ich hneď niekoľko:

  • Prenositeľnosť: Program je plne prenositeľný, ak existuje interpret pre danú platformu, pôjde tam zdrojový kód programu spustiť.

  • Jednoduchší vývoj - V tom to jazyku sme odrezaný od správy pamäte, ktorú za nás robí tzv. Garbage collector . Často tiež nemusíme ani zadávať dátové typy a máme k dispozícii vysoko komfortné kolekcie a ďalšie štruktúry.

  • Stabilita - Vďaka tomu, že interpret kódu rozumie, predíde chybám, ktoré by skompilovaný program inak pokojne vykonal. Beh interpretovaných programov je teda určite bezpečnejšie.

  • Jednoduchá editácia - Program môžeme vyvíjať po častiach a nahrávať na cieľové umiestnenie, vďaka tomu, že sa nemusia kompilovať, ho je možné jednoducho editovať "za behu.

Interpret má tri veľké nevýhody:

  • Rýchlosť - Interpretácia môže byť mnohokrát veľmi pomalá a program tak plne nevyužíva výkon počítača.
  • Často ťažké hľadanie chýb - Vďaka kompilácii za behu sa chyby v kóde objaví až v tú chvíľu, kedy je kód spustený. To môže byť niekedy veľmi nepríjemné.
  • Zraniteľnosť - Pretože sa program šíri v podobe zdrojového kódu, každý do neho môže zasahovať alebo kradnúť jeho časti.


Príkladom interpretovaného jazyka je napr. PHP. Na väčšine webov ten pomerne pohodlný jazyk výkonovo stačí, ale napríklad Facebook používa špeciálny kompilované verziu PHP, záujemcovia nech sa pozrú na projekt HipHop for PHP.

 

Jazyky s virtuálnym strojom

Napadlo vás, čo by sa stalo, keby sa obaja dva vyššie zmienené spôsoby spojili? Ak áno, gratulujem, vynašli ste virtuálny stroj. Jedná sa o najmodernejšiu podobu jazyka, ktorá je v súčasnej dobe tiež najrozšírenejšia a je najlepšou voľbou pre vývoj väčšiny aplikácií. Nebudem tajiť, že do tejto kategórie spadá samotný C # alebo Java. 

b2ap3_thumbnail_stiahnu-4.jpg

Zdrojový kód je najprv preložený do tzv. Mezikódu, ktorému Microsoft hovorí CIL. Jedná sa v podstate o strojový (binárny) kód, ktorý má ale o poznanie jednoduchšiU inštrukčnú sadu a priamo podporuje objektové programovanie. Tento mezikód je potom vďaka jednoduchosti relatívne rýchlo interpretovateľný tzv. Virtuálnom strojom Výsledkom je strojový kód pre náš procesor.

tým to spôsobom sme odstránili nevýhody interpreta i kompileru a môžeme využívať mnohé z ich výhod:

  • Málo zraniteľný kód - Aplikácia sa šíri ako zdrojový kód v CIL, nie je teda úplne jednoducho ľudsky čitateľná.

  • Slušná rýchlosť - Rýchlosť sa u virtuálneho stroja pohybuje medzi interpretom a kompilerem. Virtuálny stroj už výsledky svojej práce po použití nezahadzuje.

  • Jednoduchý vývoj - Máme k dispozícii dátové štruktúry a knižnice, správu pamäte za nás vykonáva Garbage Collector.
  • Stabilita - Vďaka tomu, že interpret kódu rozumie, zastaví nás pred vykonaním nebezpečnej operácie a na chybu nás upozorní.
  • Odhalenie chýb v zdrojovom kóde - Vďaka kompilácii do CIL jednoducho odhalíme chyby v zdrojovom kóde.
  • Prenositeľnosť - Asi je jasné, že hotový program pobeží na každom železe, na ktorom sa nachádza virtuálny stroj. To ale nie je všetko, my sme dokonca nezávislí aj na samotnom jazyku. Na jednom projekte môže robiť viac ľudí, jeden v C #, druhý vo Visual Basic a tretí v C ++. Zdrojové kódy sa potom vždy preloží do cieľov.


Jazyky s virtuálnym strojom je objektovo orientované programovanie a jedná sa o súčasný vrchol vývoja v tejto oblasti. Existujú aj jazyky 4. a 5. generácie, ale tie majú špecifické použitie(sám neviem aké).

 

 

 

 

 

 

 

Ohodnoťte tento článok:
Romantizmus na Slovensku - Štúrovci
Korešpondenčné semináre pre tých, čo myslenie je z...
 

Účet blogera


Najaktívnejší blogeri

  • Patrik Hyll
    5 625 Bodov
  • Ulrich
    4 881 Bodov
  • Lukáš Janáčik
    4 647 Bodov
  • Janko
    1 676 Bodov
  • Dodo Farkaš
    1 174 Bodov
  • Martin Majtán
    693 Bodov
  • Natália Andrašková
    457 Bodov
  • Michal Chovanec
    455 Bodov
  • Adam Hančák
    353 Bodov
  • Lenka Baranovičová
    341 Bodov
 

Najčítanejšie články

Patrik Hyll
08. marec 2015
Biológia
V dnešnom blogu Vám ukážem že zvieratá nie sú len roztomilé, ale niektoré druhy aj poriadne škaredé. Matka príroda sa naozaj vyhrala do sýtosti, niektorých obdarovala priam neuveriteľnou roztomilosťou...
Hodnotiť:
33036 x čítané
Lenka Baranovičová
05. marec 2015
Biológia
Asi každý má rád motýle, aj ja. Ale mám medzi nimi pár obľúbených druhov, ktoré sú niečím výnimočné v porovnaní s ostatnými. Dnes by som vám chcela povedať o šiestich z nich....
Hodnotiť:
26305 x čítané
Prochy
11. október 2014
Prečo je to tak
Keď hodíme kameň do jazera, okamžite začne klesať na dno. Drievko pláva na hladine. Niektoré veci sa potopia, iné sa len zľahka ponoria. Od čoho to závisí?...
Hodnotiť:
26015 x čítané