A számítógépes programot általában egy magas szintű nyelv segítségével írjuk. A magas szintű nyelv olyan nyelv, amely számunkra, emberek számára érthető. Ezt nevezzük forráskódnak.
A számítógép azonban nem érti a magas szintű nyelvet. Csak a binárisan, 0-kkal és 1-ekkel írt programot érti, amit gépi kódnak nevezünk.
A forráskód gépi kóddá alakításához vagy fordítót, vagy értelmezőt használunk.
A magas szintű nyelven írt programot mind a fordító, mind az értelmező arra szolgál, hogy a számítógépek által érthető gépi kóddá alakítsa át. Vannak azonban különbségek az értelmező és a fordító működése között.
Interpreter Vs Compiler
Interpreter | Compiler |
---|---|
A programot utasításonként fordítja le. | A teljes programot átvizsgálja és egészében lefordítja gépi kódra. |
Az értelmezők általában kevesebb időt vesznek igénybe a forráskód elemzéséhez. A teljes végrehajtási idő azonban viszonylag lassabb, mint a fordítóké. | A fordítók általában sok időt vesznek igénybe a forráskód elemzéséhez. A teljes végrehajtási idő azonban viszonylag gyorsabb, mint az értelmezőké. |
Nem generál köztes objektumkódot, ezért memóriahatékony. | Generál köztes objektumkódot, amely további linkelést igényel, ezért több memóriát igényel. |
A programozási nyelvek, mint a JavaScript, Python, Ruby értelmezőket használnak. | A programozási nyelvek, mint a C, C++, Java fordítókat használnak. |