Az assemblerek ugyan megoldották a gépi kódra fordítás problémáját, ám rögtön ezután az iparágnak egy teljesen új problémával kellett szembenéznie. A hordozhatóságéval. De nem kell félteni a számítógépes szakembereket. Találtak rá megoldást...
A nap hősei: A magas szintű nyelvek
Itt jönnek be a képbe a magas szintű programozási nyelvek. Ezek komplex nyelvek, melyek ugyan leírták különböző matematikai problémákra a megoldást, de nem mentek bele túl mélyen a részletekbe. Valami ilyesmit kell elképzelni:
int i = 6 * 7;
Egy nyelvben, mint például a C (az egyik legkorábbi és legelterjedtebb magas szintű programozási nyelv), egy program, az ún. fordító fogta a programkódot, és lefordította gépi kódra. Az nem is érdekes, hogy mi történik a háttérben. A programozó csak annyit tud, hogy létrehozott egy számot, ami 6-szor 7 eredményét tárolja.
Sajnos a magasszintű nyelvekkel sem lehet tökéletesen hordozható programokat készíteni. A probléma az, hogy minden fordító különböző, és máskép valósítja meg a dolgokat. Minden operációs rendszernek van egy úgynevezet API-ja (Application Programming Interface - Alkalmazásprogramozási Felület), amit más gépek nem tudnak használni. Ha csinálsz egy programot Windowsra, a WIN32 API-t használod, de a program semmiképp sem fog lefutni egy Macintosh gépen.
Erre néhány okos ember előrukkolt a Virtuális Gépek (Virtual Machine, VM) ötletével, amik kb. úgy működnek, mint egy tolmács, vagy inkább közvetítő...
TO BE CONTINUED...