Mašinos lygio kodo rašymas yra sudėtingas procesas.
Vaizdo kreditas: Jupiterimages/Photos.com/Getty Images
Bet kurios programavimo kalbos tikslas yra paversti kompiuterį iš brangaus elektroninio popieriaus į naudingą duomenų apdorojimo ir saugojimo įrenginį. Kalbos pasirinkimas šiai užduočiai atlikti yra kompromisas tarp efektyvumo ir naudojimo paprastumo. Mašinos kalba yra abiejų šių veiksnių kraštutiniai spektro galai.
Mašinos kalba
Mašinos kalba sukuria vienintelį instrukcijų rinkinį, kurį kompiuteris supranta be vertėjo. Kompiuteriai sugeba atlikti garso ir vaizdo atkūrimą, duomenų apdorojimą ir saugojimą, internetą bendravimas ir visos kitos specializuotos užduotys reaguojant į instrukcijų rinkinį, atpažįstantį tik vienus ir nuliai. Rašyti šimtus kodo eilučių, susidedančių iš vienetų ir nulių, yra sudėtingas ir varginantis procesas, dėl kurio populiarėja aukštesnio lygio kalbos, tokios kaip C ir Java.
Dienos vaizdo įrašas
Ankstyvieji pranašumai
Pirmasis IBM asmeninis kompiuteris buvo aprūpintas 512 kilobaitų laisvosios kreipties atmintimi ir 360 kilobaitų diskelių įrenginiu. Įkėlus operacinę sistemą į atmintį iš diskelių, programos buvo įkeltos į likusią atminties palieka labai mažą RAM plotą, dažnai mažiau nei 100 kilobaitų, kad aktyvi programa galėtų apdoroti duomenis. Šiuo laikotarpiu pagrindinis programuotojo rūpestis buvo liesas, efektyvus kodas. Šiuose ankstyvuosiuose kompiuteriuose pasirinkti programavimo įrankiai paprastai buvo mašinų kalba, kuri gali būti daug mažesnė nei versija, parašyta BASIC arba C. Taip pat buvo šiek tiek lengviau naudoti palikuonių, surinkimo kalbą.
Priklausomybė nuo platformos
Mašinos kalba tiesiogiai kreipiasi į kompiuterio aparatinę įrangą, todėl programuotojas gali visiškai valdyti kiekvieną programos vykdymo aspektą. Šio metodo trūkumas yra tas, kad programuotojas turi žinoti kiekvieno mikroschemų rinkinio architektūrą, kad galėtų parašyti efektyvų kodą. Pavyzdžiui, pakeitus komponentą, pvz., vaizdo plokštę arba disko valdiklį, mašinos kalbos kodas turi būti atnaujintas, kad būtų atpažintas ir nukreiptas į naują įrenginį.
Aukšto lygio kalbos
Mašinų kalbos greičio ir mažo atminties kiekio pranašumus vis labiau nusveria sunkumai rašant lusto lygio instrukcijas dvejetainiu kodu. Gigabaitai RAM ir terabaitai laisvos saugyklos panaikino taupaus, efektyvaus kodo poreikį šiuolaikiniuose asmeniniuose kompiuteriuose. Papildomi atminties ir saugojimo poreikiai, kuriuos reikalauja programos, parašytos aukštesnio lygio kalbomis, tokiomis kaip C ir Java, nebėra veiksnys renkantis kūrimo platformą. Daugumoje šiuolaikinių programinės įrangos projektų greitis ir efektyvumas yra susirūpinimas dėl naudojimo paprastumo ir būsimos programos priežiūros.