Dezavantajele limbajelor de programare la nivel înalt

În terminologia de programare a computerelor, limbajele de programare sunt adesea separate în limbaje „de nivel înalt” și „nivel scăzut”. Diferența dintre cele două este o chestiune de interacțiune hardware. Mai simplu spus, limbajele de nivel scăzut se află „mai jos” pe sistemul computerului, mai aproape de interacțiunea hardware reală. Limbajele de nivel înalt sunt extrase din hardware. Rezultatul acestei abstractizări poate avea ca rezultat un cod mai rapid și mai lizibil, dar beneficii de viteză mai mică și un acces mai mic la resursele sistemului.

Abstracția

Ceea ce face ca limbajele de nivel înalt să fie diferite de limbajele de nivel scăzut este nivelul de abstractizare pe care un limbaj îl are față de resursele sistemului. Gestionarea zilnică a resurselor sistemului poate deveni lentă și dureroasă. Au fost create limbaje de nivel înalt pentru a rezolva această problemă prin manipularea sistemului pentru programator, eliberând ea să finalizeze o sarcină mai avansată, ignorând în același timp detaliile minuscule ale sistemului, cum ar fi memoria management. Cu toate acestea, acest lucru are un dezavantaj prin faptul că un programator s-ar putea găsi într-o situație în care este necesar accesul la sistem și un limbaj de nivel înalt nu poate oferi acel acces. Un limbaj de nivel înalt nu este de obicei potrivit pentru programarea sistemelor.

Videoclipul zilei

Viteză

Limbile de nivel înalt sunt de obicei limbi „interpretate” mai degrabă decât limbajele de nivel scăzut „compilate”. „Interpretat” înseamnă pur și simplu că o limbă folosește un interpret care execută codul sursă pe rând, în loc să compileze un fișier binar. Cu toate acestea, interpreții sunt adesea programe scrise în limbaje compilate. Din această cauză, limbajul interpretat -- Python, de exemplu -- rulează doar pe deasupra interpretului Python, care este scris în C. Acest lucru mărește supraîncărcarea de memorie și de timp pentru programele interpretate și deseori se execută mai lent.

Particularități ale sistemului

Un punct forte aparent al codului de nivel înalt este portabilitatea acestuia. Codul de nivel înalt poate rula pe orice sistem care are instalat interpretul corespunzător. Cu toate acestea, atunci când un program este compilat pentru un computer, acesta ia în considerare întregul mediu al acelui sistem în compilarea sa. Un limbaj interpretat este deja abstractizat din sistem până la un asemenea punct, încât programul interpretat nu știe nimic despre sistem, cu excepția ceea ce interpretul îi poate furniza.

Limite de programare

Din cauza naturii limbilor de nivel înalt, există anumite sarcini pentru care nu sunt potrivite, sau cel puțin încă nu sunt potrivite pentru care. Fără acces la resursele sistemului, dezvoltarea rapidă a aplicațiilor native pentru sistemul de operare este dificilă. În plus, chiar și dezvoltarea unui sistem de operare devine problematică. Pe măsură ce mai multe software-uri se deplasează online, acest fapt devine mai puțin îngrijorător, dar, pentru uz comercial și industrial, limbile interpretate pot funcționa prea lent sau prea departe de interacțiunea hardware.