Obsah
Cieľom každého programovacieho jazyka je zmeniť drahý počítač s ťažkou váhou na užitočné zariadenie na spracovanie a ukladanie údajov. Jazyk zvolený na vykonanie tejto úlohy musí byť vyvážený medzi efektívnosťou a jednoduchým používaním. Strojový jazyk predstavuje pre obidva faktory konce spektra.
Strojový jazyk
Strojový jazyk produkuje jedinú skupinu pokynov, ktorým počítač rozumie bez prekladača. Počítače sú schopné prehrávať audio a video, spracovávať a ukladať údaje, komunikovať s internetom a vykonávať ďalšie špecializované úlohy, reagujúce na súbor pokynov, ktoré rozpoznávajú iba nuly a nuly. Písanie stoviek riadkov kódu iba s jednými a nulami je únavná úloha, ktorá prispieva k popularite jazykov na vysokej úrovni, ako sú C a Java.
Počiatočné výhody
Prvý osobný počítač IBM bol vybavený 512 kB pamäte s náhodným prístupom a 360 kB disketovou jednotkou. Po zavedení operačného systému do pamäte z diskety sa programy načítali do zostávajúceho pamäťového priestoru, čo ponechalo malú oblasť pamäte RAM, zvyčajne menšiu ako 100 kB, aby aktívny program mohol spracovávať údaje. Za ten čas bolo prvoradým záujmom programátora vytvoriť stručný a efektívny kód. Programovacím nástrojom, ktorý sa na týchto počítačoch používal najviac, bol strojový jazyk, ktorý môže byť podstatne menší ako verzia napísaná v jazykoch BASIC alebo C. Používanie montážneho jazyka bolo tiež o niečo jednoduchšie.
Závislosť na platforme
Jazyk stroja smeruje priamo na hardvér počítača a dáva programátorovi úplnú kontrolu nad každým aspektom spustenia programu. Nevýhodou tohto prístupu je, že programátor musí poznať architektúru každej sady integrovaných obvodov (čipsetov), aby mohol písať efektívny kód. Pri zmene súčasti, ako je grafická karta alebo radič disku, je potrebné aktualizovať kód, aby bolo možné rozpoznať a používať nové zariadenie.
Jazyky na vysokej úrovni
Výhody strojového jazyka týkajúce sa rýchlosti a nízkej pamäte vyvážia ťažkosti s písaním pokynov na úrovni čipu do binárneho kódu. Dostupnosť gigabajtov RAM a terabajtov úložného priestoru eliminovala potrebu stručného a efektívneho kódu na moderných osobných počítačoch. Dodatočné nároky na pamäť a ukladanie u programov napísaných v jazykoch na vysokej úrovni, ako sú C a Java, už nie sú pri výbere vývojovej platformy faktorom. Jednoduchosť použitia a údržba sú preferovanými faktormi rýchlosti a efektívnosti vo väčšine moderných softvérových projektov.