Un limbaj de programare de nivel înalt este un limbaj de programare conceput pentru viteza și ușurința de utilizare de către programator . Caracteristica principală a limbajelor de nivel înalt este abstracția , adică introducerea de constructe semantice care descriu pe scurt astfel de structuri de date și operațiuni pe ele , ale căror descrieri în codul mașină (sau alt limbaj de programare de nivel scăzut ) sunt foarte lung și greu de înțeles.
Limbajele de programare de nivel înalt au fost concepute pentru independența platformei de esența algoritmilor. Dependența de platformă este transferată către programe de instrumente - traducători care compilează textul scris într-un limbaj de nivel înalt în comenzi elementare ale mașinii (instrucțiuni). Prin urmare, pentru fiecare platformă, este dezvoltat un traducător unic pentru fiecare limbă de nivel înalt, de exemplu, traducerea textului scris în Delphi în instrucțiuni elementare pentru microprocesoarele din familia x86 .
Astfel, limbile de nivel înalt caută nu numai să faciliteze rezolvarea problemelor complexe de software, ci și să simplifice portarea software-ului . Utilizarea unei varietăți de traducători și interpreți permite programelor scrise în limbi de nivel înalt să comunice cu diverse sisteme de operare , dispozitive programabile și echipamente și, în mod ideal, nu necesită modificarea codului sursă (text scris într-un limbaj de nivel înalt). ) pentru orice platformă.
Acest tip de detașare a limbilor de nivel înalt de implementarea hardware a unui computer, pe lângă multe avantaje, are și dezavantaje. În special, nu permite crearea de instrucțiuni simple și precise pentru echipamentul utilizat. Programele scrise în limbaje de nivel înalt sunt mai ușor de înțeles de către programator, dar mai puțin eficiente decât omologii lor scrise în limbaje de nivel scăzut . O consecință a acestui fapt a fost adăugarea suportului pentru unul sau altul limbaj de nivel scăzut (limbaj de asamblare ) la o serie de limbaje de programare profesionale moderne de nivel înalt.
Exemple: C++ , C# , Delphi , Fortran , Java , JavaScript , Lisp , Pascal , PHP , de asemenea Ruby , Python , Perl , care sunt uneori numite super -high-level . Limbile de nivel înalt tind să poată lucra cu structuri complexe de date. Cele mai multe dintre ele au suport integrat pentru tipuri de șiruri , obiecte , operații de I/O pe fișiere și așa mai departe.
Primul limbaj de programare de nivel înalt este limbajul de calculator Plankalkül , dezvoltat de inginerul german Konrad Zuse în perioada 1942-1946 . Cu toate acestea, un traducător pentru aceasta nu a existat până în 2000. Primul traducător de limbi de nivel înalt din lume este PP (Program de programare), alias PP-1, testat cu succes în 1954. Traducătorul PP-2 (1955, al 4-lea traducător din lume) era deja în optimizare și conținea deja propriul încărcător și depanator, o bibliotecă de proceduri standard și traducătorul PP pentru computerul Strela-4 . conținea un linker (linker) din module. Cu toate acestea, utilizarea pe scară largă a limbajelor de nivel înalt a început odată cu apariția Fortran și crearea unui compilator pentru acest limbaj ( 1957 ).
Pentru 2018, conform TIOBE Software, limbajul de programare Java este lider .
Se crede pe scară largă că programele în limbaje de nivel înalt pot fi scrise o dată și apoi utilizate pe orice tip de computer . În realitate, acest lucru este valabil numai pentru acele programe care interacționează puțin cu sistemul de operare , de exemplu, efectuează calcule sau procesări de date. Majoritatea programelor interactive (și cu atât mai mult multimedia) folosesc apeluri de sistem , care variază foarte mult în funcție de sistemul de operare. De exemplu, pentru a afișa grafice pe ecranul unui computer, programele Microsoft Windows folosesc funcții API Windows care sunt diferite de cele utilizate pe sistemele care acceptă standardul POSIX . Cel mai adesea, ei folosesc interfața de programare a serverului X în aceste scopuri .
Până în prezent, au fost create o serie de biblioteci de software (de exemplu, biblioteca Qt sau wxWidgets ) care ascund inconsecvențele în apelurile de sistem ale diferitelor sisteme de operare din programele de aplicație . Cu toate acestea, astfel de biblioteci, de regulă, nu vă permit să utilizați pe deplin toate caracteristicile sistemelor de operare specifice.
O nouă tendință este apariția limbajelor de programare de nivel puțin mai înalt (nivel ultra-înalt, a nu fi confundat cu nivel ultra -înalt ). Astfel de limbaje se caracterizează prin prezența unor structuri și obiecte suplimentare orientate spre utilizarea aplicată. Obiectele aplicației, la rândul lor, necesită o configurație minimă sub formă de parametri și sunt instantaneu gata de utilizare. Utilizarea limbajelor de programare de nivel ultra-înalt reduce timpul alocat dezvoltării software și îmbunătățește calitatea produsului final datorită, din nou, reducerii cantității de coduri sursă.