Co je středně pokročilý jazyk?
V počítačovém programování, když je zdrojový kód čitelný člověkem analyzován kompilátorem, kompilátor často překládá zdrojové příkazy do sekvence instrukcí, které nejsou zcela nativní strojový kód, ale mohou být dále zpracovávány, optimalizovány nebo kompilovány kompilátorem nebo jiným softwarem. nástroje. Vytvářené soubory obsahují instrukce, které se uvádějí v mezilehlém jazyce, protože jazyk používaný kompilátorem nemá význam ani pro větší operační systém, ani pro jazyk používaný programátorem k psaní kódu na prvním místě, ale místo toho je jazyk, který se chová jako most mezi psaní a realizaci programu. Mezilehlý jazyk se někdy používá, aby kompilátoru umožnil provádět velmi přesné optimalizace, takže program běží efektivněji, ale lze jej také použít k vytváření výstupních souborů, které jsou přenositelné mezi různými nekompatibilními systémy. Skutečná syntaxe jazyka se může podobat strojovému kódu nebo jiným typům čtecího kódu jiného než lidského původu, nebo může jít pouze o existující meziplatformový počítačový programovací jazyk.
Při použití pro optimalizaci kompilátoru vezme překladač jazyků každý příkaz do souboru zdrojového kódu a rozdělí příkaz do přechodného jazyka. Jediný lidsky čitelný programovací příkaz se může rozdělit na desítky instrukcí strojového jazyka, takže prostřední jazyk vytváří úroveň abstrakce, kterou může kompilátor použít k identifikaci oblastí kódu, kde lze provést optimalizace, aniž by se nejprve musel kód svázat jakékoli nativní implementace nebo knihovny. Po dokončení může být soubor prostředního kódu dále zkompilován, aby se vytvořil nativní binární soubor, nebo může být spuštěn prostřednictvím jiného programu, známého jako interpret, který provede kód jeho kompilací do nativních instrukcí podle potřeby.
Některé jazyky, například Java®, používají pro vytváření kompilovaných souborů, které jsou optimalizované, ale také přenositelné do jiných počítačových systémů, přechodný jazyk. Tento typ kódu je někdy známé jako bytecode a podobá strojového kódu nebo assembleru. Bajtcode je uložen v souborech způsobem nezávislým na platformě, což znamená, že může být přenesen do jakéhokoli počítačového systému nebo zařízení, které může spustit tlumočníka. Jakmile je bajtcode v systému, může být spuštěn jako interpretovaný program nebo může být zkompilován pro nativní spuštění v cílovém systému.
V některých případech je počítačový jazyk navržen tak, aby usnadňoval programování ke konkrétnímu cíli, jako je například interaktivní webová aplikace, ale návrháři nechtějí zahrnout vlastní kompilátory, tlumočníky nebo pluginy pro různé systémy. V těchto případech je meziprodukt jazyk překladače může být existující jazyk, který již zavedla platformy tlumočníky. Výsledný přechodný jazyk je v tomto případě lidsky čitelný. Jedním příkladem počítačového programovacího jazyka, který se také používá jako mezilehlý jazyk, je JavaScript®, který má tu výhodu, že od roku 2011 může běžet v téměř libovolném webovém prohlížeči na jakékoli platformě.