Az összeállított és az értelmezett nyelvek közötti különbség

A programozási nyelvek két különböző családra oszlanak: összeállított és értelmezni. A lefordított nyelvet egy ember kódolja, majd a forráskód lefordítja assembly nyelvre, így a célprogram lefut, és a kívánt eredményt adja vissza. Az értelmezett nyelv azonban valós időben fordítódik le, amikor fut, és gyakran egyszerűbb és emberbarátabb szintaxist használ a kódoláshoz.

A választás egy összeállított vs. Az értelmezett nyelv nem lehet fontos tényező, amikor egy új programozási nyelvet fontolgat, amelyet megtanulhat.

Mi az összeállított nyelv?

Hello World in C

Vegyünk egy egyszerű programot, helloworld.c, írva a C programozási nyelv:

#beleértve 
int main()
{
printf("Hello World");
}

A C egy példa egy lefordított nyelvre. A fenti kód futtatásához át kell adnia egy C fordítón – egy olyan programon, amely a kódot értelmezve bináris programot hoz létre. Egy egyszerű C program Linux alatt történő fordításához használja a gcc fordítóprogram:

gcc helloworld.c -o hello

A fenti parancs a kódot ember által olvasható formátumból gépi kóddá alakítja, amelyet a számítógép natív módon futtathat. A lefordított program úgy fut le, hogy végrehajtja a lefordított program nevét a shellből:

./Helló

Erősségeit és gyengeségeit

A fordítóprogram kódfordításra való használatának az az előnye, hogy a végtermék általában gyorsabban fut, mint az értelmezett kód, mivel nem kell menet közben fordítani, miközben az alkalmazás fut.

A lefordított programot a fordítás során ellenőriztük, hogy nem tartalmaz-e hibákat. Ha vannak olyan parancsok, amelyek nem tetszenek a fordítónak, akkor azokat jelenteni fogja. Ez a hibaellenőrzés segít az összes kódolási hiba kijavításában, mielőtt egy jól működő végterméket kapna.

Csak azért, mert egy program fordítása sikeresen megtörtént, még nem jelenti azt, hogy a várt módon fog futni, ezért továbbra is tesztelnie kell az alkalmazást.

Azonban egy Linux számítógépen lefordított C program nem fog futni Windows számítógépen, mert a fordító tartalmazza a szükséges eszközöket az alkalmazás futtatásához egy adott platformon – általában azon a platformon, amelyen az volt összeállított. Ahhoz, hogy ugyanaz a C program futhasson Windows számítógépen, újra le kell fordítania a programot egy C fordító segítségével Windows számítógépen.

Mi az értelmezett nyelv?

Hello World Pythonban

A Python egy népszerű értelmezett nyelv.

nyomtatás ("hello világ")

A fenti kód egy python program, amely megjeleníti a szavakat Helló Világ amikor fut. A kód futtatásához nem kell először lefordítanunk. Ehelyett egyszerűen futtathatjuk a következő parancsot:

python helloworld.py

Alternatív megoldásként egyszerűen írja be a Python interaktív értelmezőjéből.

Ezt az apró, egysoros programot nem kell először lefordítani, de megköveteli, hogy a Python telepítve legyen minden olyan gépen, amelyen a szkript fut. A Python értelmező veszi az ember által olvasható kódot, és valami mássá alakítja, mielőtt a gép olvasni tudja. Mindez a színfalak mögött történik, és felhasználóként csak a szavakat látja Helló Világ szabványos kimenetre nyomtatva.

Erősségeit és gyengeségeit

Általánosságban elmondható, hogy az értelmezett kód lassabban fut, mint a lefordított kód, mivel a tolmács menet közben lefordítja a programot olyasvalamivé, amit a gép képes kezelni.

Bár ez a hatékonysági ütés hátránynak tűnhet, az értelmezett nyelvek több okból is hasznosak. Először is, sokkal egyszerűbb egy Pythonban írt programot futtatni Linuxon, Windowson és Mac operációs rendszer. Csak annyit kell tennie, hogy a Python telepítve van azon a számítógépen, amelyen futtatni kívánja a szkriptet.

További előnye, hogy a kód mindig elérhető olvasásra, és könnyen módosítható, hogy a kívánt módon működjön. A lefordított kódnál meg kell találni a kód tárolási helyét, módosítani kell, le kell fordítani és újra kell telepíteni a programot. Az értelmezett kóddal viszont megnyitod a programot, megváltoztatod, és már indul is.