- vyssie programovacie jazyky
- strojovo orientovane jazyky
Strojovo orientovane jazyky su viazane na konkretny typ procesoru. Patri sem napriklad assembler.
Vyssie programovacie jazyky vyuzivaju abstrakcie od strojovej urovne a podporuju urcite programovacie paradigma.Kazdy z programovacich jazykov ma svoju syntaxiu a semantiku. Syntax je suhrn pravidiel udavajucich tvary jednotlivych konstrukcii a semantika udava vyznam tychto konstrukcii.
Interpretacia programovacieho jazyka
- interpretacna
- kompilacna
Zakladom kompilacnych jazykov je prekladac, ktory kompiluje zapis vo VPJ na cielovy program v jazyku pocitaca. Vacsina prekladacov preklada do jazyku relativnych adries (nie jazyk symbolickych instrukcii), ktory vychadza z konkretnej architektury.
Pri interpretacnej metode sa program preklada do vnutornej formy, ktora nie je strojovym jazykom fyzickeho procesoru, ale jazykom virtualneho pocitaca. Vykonavanie programu zaisti interpret. Tento sposob je sice menej narocny na preklad, ale narocnejsi z hladiska doby vypoctu.
Casna vazba - prekladac vie dopredu - v dobe prekladu, aka metoda sa kedy bude volat.
Pozdni vazba - prekladac nerozhoduje vopred, ale o tom, aka metoda bude volana sa rozhoduje, az ked pride k samotnemu volaniu. V Ccku sa to spravi pomocou virtual a funguje to preto, ze prekladac udrzuje tabulku virtualnych metod
Casna vazba - prekladac vie dopredu - v dobe prekladu, aka metoda sa kedy bude volat.
Pozdni vazba - prekladac nerozhoduje vopred, ale o tom, aka metoda bude volana sa rozhoduje, az ked pride k samotnemu volaniu. V Ccku sa to spravi pomocou virtual a funguje to preto, ze prekladac udrzuje tabulku virtualnych metod