Sadržaj
Cilj je bilo kojeg programskog jezika pretvoriti skupo računalo u papirnatom obliku u koristan uređaj za obradu i pohranu podataka. Jezik odabran za izvršavanje ovog zadatka mora biti uravnotežen između učinkovitosti i jednostavnosti upotrebe. Strojni jezik predstavlja krajeve spektra za oba čimbenika.
Strojni jezik
Strojni jezik daje jedini set uputa koje računalo razumije bez prevoditelja. Računala su u stanju reproducirati audio i video, obrađivati i pohranjivati podatke, komunicirati s internetom i obavljati druge specijalizirane zadatke, odgovarajući na niz uputa koje prepoznaju samo jedinice i nule. Pisanje stotina redaka koda samo s jedinicama i nulama dosadan je zadatak koji doprinosi popularnosti jezika visoke razine, poput C i Jave.
Početne prednosti
Prvo osobno računalo IBM-a bilo je opremljeno s 512 KB memorije s slučajnim pristupom i pogonom diskete od 360 KB. Nakon što je operativni sustav učitan u memoriju s diskete, programi su učitani u preostali memorijski prostor, ostavljajući malo prostora RAM-a, obično manje od 100 KB, za aktivni program za obradu podataka. Tijekom tog vremena, programeru je primarna briga bila stvoriti koncizan i učinkovit kôd. Programski alat koji se najviše koristio na tim računalima bio je strojni jezik, koji može biti znatno manji od verzije napisane na BASIC-u ili C. Također je bilo malo lakše koristiti montažni jezik.
Ovisnost o platformi
Strojni jezik usmjerava izravno na hardver računala, dajući programeru potpunu kontrolu nad svim aspektima pokretanja programa. Nedostatak ovog pristupa je taj što programer mora znati arhitekturu svakog seta integriranih sklopova (čipseta) da bi napisao učinkovit kôd. Kad se komponenta poput video kartice ili upravljača diskom promijeni, kôd se mora ažurirati kako bi prepoznao i koristio novi uređaj.
Jezici visoke razine
Prednosti strojnog jezika u brzini i maloj upotrebi memorije nadvladavaju poteškoće u pisanju uputa na razini čipa u binarni kod. Dostupnost gigabajta RAM-a i terabajta pohrane eliminirala je potrebu za sažetim i učinkovitim kodom na modernim osobnim računalima. Dodatni zahtjevi za memorijom i pohranom programa napisanih na jezicima visoke razine, kao što su C i Java, više nisu faktor pri odabiru razvojne platforme. Jednostavnost upotrebe i održavanja poželjni su čimbenici brzine i učinkovitosti u većini modernih softverskih projekata.