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:

Potom sú tu aj samozrejme nevýhody:

 

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:

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


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:


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é).