Език за програмиране от високо ниво

В компютърните науки езикът за програмиране на високо ниво е език за програмиране със силна абстракция от детайлите на компютъра. За разлика от езиците за програмиране на ниско ниво, той може да използва елементи на естествения език, да бъде по-лесен за използване или може да автоматизира (или дори да скрие изцяло) значителни области на изчислителните системи (напр. управлението на паметта ), което прави процеса на разработване на програма по-лесен и по-разбираем, отколкото при използване на език от ниско ниво. Размерът на предоставената абстракция определя колко „високо ниво“ е езикът за програмиране. [1]

През 60-те години на XX век език за програмиране на високо ниво, използващ компилатор, обикновено се нарича автокод. [2] Примери за автокодове са COBOL и Fortran. [3]

Първият език за програмиране от високо ниво, предназначен за компютри, е Планкалкюл, създаден от Конрад Цузе. [4] Въпреки това, той не е бил приложен по негово време и първоначалният му принос е до голяма степен изолиран от другите подобни разработки поради Втората световна война. Все пак той оказва влияние върху езика „Суперплан“ на Хайнц Рутисхаузер и също до известна степен върху ALGOL. Първият значително разпространен език на високо ниво е Fortran, машинно-независима разработка на по-ранните системи автокод на IBM. Семейството ALGOL, с ALGOL 58, дефиниран през 1958 г. и ALGOL 60, дефиниран през 1960 г. от комитети на европейски и американски компютърни учени, въвежда рекурсията, както и вложените функции в лексикалния обхват. ALGOL 60 е и първият език с ясно разграничение между параметрите за присвояване на стойност и именните променливи и съответната им семантика. ALGOL също така въвежда няколко концепции за структурно програмиране, като конструкциите while-do и if-then-else и неговият синтаксис е първият, описан във формална нотация – форма на Backus-Naur (BNF). През приблизително същия период COBOL въвежда записи (records) (тип данни, наричани също структури), а Lisp въвежда за първи път напълно обща ламбда абстракция в език за програмиране.

Примерите за езици за програмиране от високо ниво, които се използват активно днес, включват Python, JavaScript, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby, C#, Java и много други.

Термините високо ниво и ниско ниво по своята същност са относителни. Преди няколко десетилетия езикът C и подобните езици най-често се смятаха за „високо ниво“, тъй като поддържаха концепции като оценка на изрази, параметризирани рекурсивни функции и типове данни и структури, докато асемблерният език се считаше за „ниско ниво“ ". Днес много програмисти могат да нарекат C език от ниско ниво, тъй като му липсва голяма run-time система за изпълнение, основно поддържа само скаларни операции и осигурява директно адресиране на паметта. Следователно той лесно се смесва с асемблерния език и машинното ниво на процесорите и микроконтролерите. Също така, в уводната глава на книгата The C Programming Language (второ издание) от K&R, C се счита за език с относително „ниско ниво“. [5]

Асемблерният език сам по себе си може да се разглежда като по-високо ниво (но често все още едно към едно, ако се използва без макроси) представяне на машинен код, тъй като поддържа концепции като константи и (ограничени) изрази, понякога дори променливи, процедури и структури от данни. Машинният код, от своя страна, е на малко по-високо ниво от микрокода или микрооперациите, използвани вътрешно в много процесори. [6]

  1. HThreads – RD Glossary
  2. London, Keith. 4, Programming // Introduction to Computers. 24 Russell Square London WC1, Faber and Faber Limited, 1968. ISBN 0571085938. с. 184. The 'high' level programming languages are often called autocodes and the processor program, a compiler.
  3. London, Keith. 4, Programming // Introduction to Computers. 24 Russell Square London WC1, Faber and Faber Limited, 1968. ISBN 0571085938. с. 186. Two high level programming languages which can be used here as examples to illustrate the structure and purpose of autocodes are COBOL (Common Business Oriented Language) and FORTRAN (Formular Translation).
  4. Wolfgang K. Giloi. Konrad Zuse's Plankalkül: The First High-Level, „non von Neumann“ Programming Language // IEEE Annals of the History of Computing. April-June 1997, pp. 17 – 24, vol. 19. Посетен на 9 май 2023. (на английски)
  5. Kernighan, Brian W., Ritchie, Dennis M. The C Programming Language: 2nd Edition. Prentice Hall, 1988. ISBN 9780131103627.
  6. Hyde, Randall. The art of assembly language. 2nd. San Francisco, No Starch Press, 2010. ISBN 9781593273019. OCLC 635507601.
  Тази страница частично или изцяло представлява превод на страницата High-level programming language в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​