Diferențele dintre limbile de programare de nivel ridicat și scăzut
Limbile de programare
Un limbaj de programare este orice limbă cu care oamenii pot instrui calculatoarele. Un program este o listă de instrucțiuni pregătite pentru a fi livrate unui computer și executate. În esență, instrucțiunile stochează, mutați și modifică valori din memoria calculatorului. Aceste valori pot fi interpretate de mai multe dispozitive, cum ar fi monitoare, difuzoare, tastaturi, touch pad-uri sau șoareci, care oferă modalități de comunicare cu utilizatorul.
Codul mașinii
Un limbaj cu nivel scăzut este unul care este aproape de elementele de bază ale hardware-ului de calculator. Limba inferioară a nivelului este codul mașinii, pe care hardware-ul îl înțelege în mod direct și care nu necesită interpretare sau traducere. Codul mașinii este compus în întregime din șiruri de numere binare: renumitele zerouri și altele. În timp ce poate face tot ceea ce poate obține orice altă limbă (de fapt, restul limbilor trebuie să fie tradus în codul mașinii de către interpret), nu este conceput pentru a satisface nevoile programatorului și necesită cunoștințe aprofundate despre procesor și dispozitivele calculatorului, pe lângă faptul că este aproape imposibil ca un om să o citească.
Limbajul de asamblare
Următorul limbaj de programare la nivel superior este limba de asamblare, care este codul mașinii, ale cărui coduri de instrucțiuni au fost înlocuite de comenzi mai intuitive. De exemplu, comanda de a plasa valoarea 97 într-un registru de memorie se numește AL (în codul mașinii ar fi "10110000 01100001"), iar în limba de asamblare ar fi "MOV AL, 97", care este încă o comandă criptică, dar este mult mai ușor de citit. Deși este încă ineficient să-l scrieți și necesită ca programatorul să se ocupe direct de hardware-ul calculatorului, acesta este un limbaj mai înalt decât cel al mașinii, deoarece este mai abstract, adică este mai aproape de programator.
Limbi de nivel înalt
Programatorii moderni scriu rar în limba de asamblare. În schimb, utilizează una dintre multele limbi de nivel înalt, cum ar fi C, Java sau Python, ale căror programe numite compilatoare sau interpreți se pot traduce în codul mașinii. Aceste limbi împiedică programatorul să se implice în lumea fizică a hardware-ului și să-l ducă la abstracție logică: în loc de a muta valorile hexazecimale de către registrele de memorie, programatorul lucrează cu variabile ale căror conținut poate fi modificat, cu bucle care acestea pot fi repetate până când o condiție este îndeplinită, cu declarații logice, cum ar fi IF, AND, THEN, OR, și ELSE, printre alte instrumente. Aceste limbi sunt proiectate pentru programator, urmărind modalitățile în care puterea maximă poate fi atinsă cu cea mai mică dificultate.
comparații
Limbile de nivel înalt nu primesc acest nume deoarece sunt "mai bune" decât limbile de nivel scăzut. Uneori, abilitatea de a comunica direct cu procesorul computerului în limba de asamblare sau chiar în codul mașinii poate rezolva problemele pe care straturile de abstractizare ale unui limbaj de nivel înalt pot face dificilă. Un limbaj de nivel înalt se poate ocupa numai de un sistem de operare specific, cum ar fi Microsoft Visual Basic sau cu un anumit program, cum ar fi "macro-urile" unui procesor de text. Aceste programe sunt foarte utile pentru oricine dorește să manipuleze Windows sau Word fără să știe cum funcționează, însă o astfel de limbă nu ar fi utilă pentru cineva care încearcă să-și scrie propriul program și are nevoie de un limbaj mai mic. Prin urmare, un programator alege un limbaj în funcție de munca pe care trebuie să o realizeze.