Език за програмиране е изкуствен език, предназначен за изразяване на изчисления, които могат да се извършат от машина, по-специално от компютър.
Езиците за програмиране могат да се използват за създаване на програми, които контролират поведението на машина, да реализират алгоритми точно или във вид на човешка комуникация.
Много програмни езици имат някаква форма на писмена спецификация на синтаксиса си (форма) и семантика (значение). Някои езици са дефинирани чрез спецификация. Например, езикът за програмиране C е език специфициран чрез ISO стандарт. Други езици като Perl, имат доминираща имплементация, която се използва като препоръка.
Най-ранните програмни езици предхождат изобретяването на компютъра, и са били използвани за управление на поведението на машини като жакардов стан и механично пиано. Създадени са хиляди различни езици за програмиране, предимно в областта на компютрите, и много повече се създават всяка година. Повечето програмни езици описват изчисляването в императивен вид, т.е. като последователност от команди, въпреки че някои езици, като например тези, които поддържат функционално програмиране или логическо програмиране, използват алтернативни форми на описание.
Езикът за програмиране е нотация за писане на програми, които са спецификации на изчисляване или алгоритъм. Някои, но не всички автори ограничават понятието „език за програмиране“ за тези езици, които могат да изразят всички възможни алгоритми. Отличителните белези, които често се смятат за важни за това какво представлява един език за програмиране, включват:
Маркиращи езици като XML, HTML или troff, които дефинират структурирани данни, не се считат за езици за програмиране. Все пак, езиците за програмиране могат да имат подобен синтаксис с маркиращите езици, ако е дефинирана семантиката. XSLT например, е Тюрингов диалект на XML. Освен това LaTeX, който се използва предимно за структуриране на документи, съдържа и Тюрингово подмножество.
Терминът компютърен език понякога е взаимозаменяем с език за програмиране. Въпреки това, употребата на двата термина е варира при различните автори, включително обхвата на всеки един от тях. При едната употреба, езиците за програмиране се описват като подмножествто на компютърните езици. В този ред на мисли, езици, използвани в компютинга, които имат различна цел от това да се създават компютърни програми са обикновено целеви компютърни езици. Така например, езиците за маркиране, понякога биват наричани компютърни езици, с цел да се подчертае, че не се използват за програмиране. При другата употреба на термина, езиците за програмиране се разглеждат като теоретични конструкции за програмиране на абстрактни машини, и компютърните езици като тяхно подмножество, които работят на физически компютри, които имат ограничени хардуерни ресурси. Джон Рейнолдс подчертава, че формалните езици, са точно толкова, колкото езици за програмиране, колкото и езиците, предназначени за изпълнение. Той също така твърди, че текстови и дори графични входни формати, които влияят на поведението на компютъра са програмни езици, независимо от факта, те често не са Тюрингови, и отбелязва, че това непознаване на концепциите на програмните езици е причина за много недостатъци във входните формати.
This article uses material from the Wikipedia Български article Език за програмиране, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Съдържанието е достъпно под условията на лиценза CC BY-SA 4.0, освен ако не е посочено друго. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Български (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.