Písanie kódu na úrovni stroja je náročný proces.
Kredit za obrázok: Jupiterimages/Photos.com/Getty Images
Účelom každého programovacieho jazyka je premeniť počítač z drahého elektronického ťažítka na užitočné zariadenie na spracovanie a ukladanie údajov. Výber jazyka na splnenie tejto úlohy je kompromisom medzi efektívnosťou a jednoduchosťou používania. Strojový jazyk predstavuje extrémne konce spektra pre oba tieto faktory.
Strojový jazyk
Strojový jazyk vytvára jedinú sadu pokynov, ktorým počítač rozumie bez prekladača. Počítače zvládajú reprodukciu zvuku a videa, spracovanie a ukladanie dát, internet komunikáciu a všetky ostatné špecializované úlohy odpovedaním na inštrukčnú sadu, ktorá rozpoznáva iba jedničky a nuly. Písanie stoviek riadkov kódu pozostávajúceho z jednotiek a núl je náročný a únavný proces, ktorý zodpovedá za popularitu jazykov vyššej úrovne, ako sú C a Java.
Video dňa
Skoré výhody
Prvý osobný počítač IBM bol vybavený 512 kilobajtovou pamäťou s náhodným prístupom a 360 kilobajtovou disketovou mechanikou. Po načítaní operačného systému do pamäte z disketovej mechaniky boli programy načítané do zvyšnej pamäte pamäťový priestor ponechávajúci veľmi malú oblasť RAM, často menej ako 100 kilobajtov, na spracovanie aktívneho programu údajov. Počas tohto obdobia bol hlavným záujmom programátora štíhly a efektívny kód. Programovacími nástrojmi na týchto skorých počítačoch bol zvyčajne strojový jazyk, ktorý môže byť podstatne menší ako verzia napísaná v BASICu alebo C. Tiež bolo o niečo jednoduchšie použiť potomok, assembler.
Závislosť na platforme
Strojový jazyk oslovuje hardvér počítača priamo, čo dáva programátorovi úplnú kontrolu nad každým aspektom vykonávania programu. Nevýhodou tohto prístupu je, že programátor musí poznať architektúru každého čipsetu, aby mohol napísať efektívny kód. Keď sa napríklad zmení komponent, ako je grafická karta alebo ovládač jednotky, kód jazyka stroja sa musí aktualizovať, aby rozpoznal a adresoval nové zariadenie.
Jazyky na vysokej úrovni
Rýchlosť a malé pamäťové nároky strojového jazyka sú čoraz viac prevažované ťažkosťami pri písaní inštrukcií na úrovni čipu v binárnom kóde. Gigabajty RAM a terabajty dostupného úložného priestoru eliminovali požiadavku na štíhly a efektívny kód v moderných osobných počítačoch. Dodatočné požiadavky na pamäť a úložisko, ktoré si vyžadujú programy napísané v jazykoch vyššej úrovne, ako sú C a Java, už nie sú faktorom pri výbere vývojovej platformy. Rýchlosť a efektívnosť vo väčšine moderných softvérových projektov nahrádzajú jednoduchosť použitia a budúcu údržbu programu.