Strojový kód: Porovnání verzí

Smazaný obsah Přidaný obsah
SieBot (diskuse | příspěvky)
m robot přidal: jbo:sambau
Lubos (diskuse | příspěvky)
m →‎Virtuální strojový kód: odkaz na rozcestník
Řádek 51:
Kompromisem může být virtuální strojový kód, který není interpretován přímo procesorem, ale prostřednictvím specializovaného programu. Výhodou zde je, že již při jeho návrhu bylo myšleno na to, aby byl dobře interpretovatelný na různých architekturách. Výsledná aplikace sice běží výrazně pomaleji než aplikace kompilovaná přímo do strojového kódu, ale zato je její kód (alespoň teoreticky) bez větších problémů použitelný na různých typech procesorů a operačních systémů, což může být zvláště při existenci nejrůznějších zařízení připojovaných na internet velkou výhodou. Interpret virtuálního kódu by měl být podstatně jednodušší, než interpret vyššího programovacího jazyka, což umožňuje jeho chod i na relativně jednoduchých zařízeních (třeba v [[mobil]]u).
 
Příkladem úspěšného virtuálního strojového kódu je "bytekód" vytvářený programovacím jazykem [[Java (programovací jazyk)|Java]]. Různé bytekódy mohou produkovat také jazyky [[Smalltalk]], [[Lisp]] a jiné. Krokem dál by mohl být kód ".net" od firmy Microsoft, jehož výhodou je dostupnost kompilátorů pro více jazyků ([[C++]], [[C Sharp|C#]], [[Delphi]], ...). Bohužel, primární určení frameworku ".net" pro operační systémy firmy Microsoft jeho základní myšlenku znehodnocuje. Tento nedostatek se snaží řešit [[opensource]] alternativa [[Mono (platforma)|Mono]], obsahující také překladač jazyka [[C Sharp|C#]], který by byl jinak pro ne-windowsovské operační systémy většinou nedostupný.
 
U úspěšných virtuálních kódů můžeme očekávat, že dojde k jejich přelévání zpět do hardware, k čemuž dochází například u bytekódu jazyka Java, jehož interpretaci již podporují některá jádra [[ARM]]. S rozvojem technologie [[Programovatelné hradlové pole|hradlových polí]] může dokonce dojít k situaci, kdy bude pro interpretaci určitého kódu dynamicky vytvářen jeho částečný nebo i úplný hardwarový interpret.