Scrierea codului la nivel de mașină este un proces dificil.
Credit imagine: Jupiterimages/Photos.com/Getty Images
Scopul oricărui limbaj de programare este de a transforma un computer dintr-un presăpator electronic scump într-un dispozitiv util de procesare și stocare a datelor. Alegerea unei limbi pentru a îndeplini această sarcină este un compromis între eficiență și ușurință în utilizare. Limbajul mașinii reprezintă capetele extreme ale spectrului pentru ambii acești factori.
Limbajul mașinii
Limbajul mașinii produce singurul set de instrucțiuni pe care un computer le înțelege fără un traducător. Calculatoarele reușesc să realizeze reproducerea audio și video, procesarea și stocarea datelor, Internet comunicarea și toate celelalte sarcini specializate prin răspunsul la un set de instrucțiuni care le recunoaște numai pe unele și zerouri. Scrierea a sute de linii de cod constând din unu și zerouri este un proces exigent și plictisitor care explică popularitatea limbajelor de nivel superior, cum ar fi C și Java.
Videoclipul zilei
Avantaje timpurii
Primul computer personal IBM a fost echipat cu 512 kilobytes de memorie cu acces aleatoriu și o unitate de dischetă de 360 kilobytes. După ce sistemul de operare a fost încărcat în memorie de pe unitatea de dischetă, programele au fost încărcate în restul spațiu de memorie lăsând o zonă foarte mică de RAM, adesea mai mică de 100 kiloocteți, pentru ca programul activ să fie procesat date. În această perioadă, principala preocupare a unui programator a fost codul slab și eficient. Instrumentele de programare alese pe aceste computere timpurii erau de obicei limbajul mașină, care poate fi considerabil mai mic decât o versiune scrisă în BASIC sau C. De asemenea, a fost oarecum mai ușor să folosești limbajul descendent, de asamblare.
Dependența de platformă
Limbajul mașinii se adresează direct hardware-ului computerului, oferind programatorului control complet asupra fiecărui aspect al execuției unui program. Dezavantajul acestei abordări este că programatorul trebuie să cunoască arhitectura fiecărui chipset înainte de a putea scrie cod eficient. Când o componentă, cum ar fi o placă video sau un controler de unitate, este schimbată, de exemplu, codul limbajului mașinii trebuie actualizat pentru a recunoaște și a adresa noul dispozitiv.
Limbi de nivel înalt
Avantajele vitezei și amprentei reduse de memorie ale limbajului mașină sunt din ce în ce mai mult depășite de dificultatea de a scrie instrucțiuni la nivel de cip în cod binar. Gigabytes de RAM și terabytes de stocare disponibilă au eliminat cerința de cod slab și eficient în computerele personale moderne. Cerințele suplimentare de memorie și stocare făcute de programele scrise în limbaje de nivel superior precum C și Java nu mai sunt un factor în alegerea unei platforme de dezvoltare. Ușurința în utilizare și preocupările viitoare de întreținere a programelor iau locul vitezei și eficienței în majoritatea proiectelor software moderne.