Език за програмиране: Разлика между версии
Изтрито е съдържание Добавено е съдържание
Vodnokon4e (беседа | приноси) м Премахнати редакции на 213.149.139.116 (б.), към версия на Dexbot |
Редакция без резюме |
||
Ред 1:
[[File:Classes and Methods.png|thumb|right|342px|Пример за [[сорс код]], писан на [[Java]], който ще изпише (print) съобщението
'''Език за програмиране''' е [[изкуствен език]], предназначен за изразяване на [[изчисление|изчисления]], които могат да се извършат от [[машина]], по-специално от [[компютър]]. Езиците за програмиране могат да се използват за създаване на програми, които контролират поведението на машина, да реализират [[алгоритъм|алгоритми]] точно или във вид на човешка комуникация.
Ред 10:
Езикът за програмиране е нотация за писане на [[програма|програми]], които са спецификации на изчисляване или алгоритъм.<ref name="Aaby 2004">{{cite book|last=Aaby|first=Anthony|title=Introduction to Programming Languages|year=2004|url=http://burks.brighton.ac.uk/burks/pcinfo/progdocs/plbook/index.htm}}</ref> Някои, но не всички автори ограничават понятието „език за програмиране“ за тези езици, които могат да изразят всички възможни алгоритми.<ref name="Aaby 2004"/><ref>In mathematical terms, this means the programming language is [[Turing completeness|Turing-complete]] {{cite book | last=MacLennan | first=Bruce J. | title=Principles of Programming Languages | page=1 | publisher=Oxford University Press | year=1987 | isbn=0-19-511306-3 }}</ref> Отличителните белези, които често се смятат за важни за това какво представлява един език за програмиране, включват:
* ''Функция и цел:'' ''Компютърен програмен език'' е език<ref name="Fischer">Steven R. Fischer, ''A history of language'', Reaktion Books, 2003, ISBN 186189080X, p. 205</ref>, използван за писане на [[компютърна програма|компютърни програми]], които са свързани с това [[компютър]] да извършва някакъв вид изчисление<ref name=sigplan>{{cite web|author=[[Association for Computing Machinery|ACM]] SIGPLAN|title=Bylaws of the Special Interest Group on Programming Languages of the Association for Computing Machinery|url=http://www.acm.org/sigs/sigplan/sigplan_bylaws.htm|accessdate=2006-06-19|year=2003}}, ''The scope of SIGPLAN is the theory, design, implementation, description, and application of computer programming languages
* ''Абстракции:'' Езиците за програмиране обикновено съдържат [[абстракция (компютърни науки)|абстракции]] за дефинирането и работата със структури от данни или за управление на потока на изпълнение. Практическата необходимост, един език за програмиране да поддържа адекватни абстракции се изразява чрез принципа на абстракцията;<ref>David A. Schmidt, ''The structure of typed programming languages'', MIT Press, 1994, ISBN 0262193493, p. 32</ref> този принцип понякога е формулиран като препоръка към програмиста, да използва подобни абстракции по подходящият начин.<ref>{{cite book|last=Pierce|first=Benjamin|title=Types and Programming Languages|publisher=MIT Press|year=2002|isbn=0-262-16209-1|page=339}}</ref>
* ''Изразителна сила:'' Теорията на алгоритмите, класифицира езиците на база изчисленията, които са способни да изразят. Всички [[Тюрингова пълнота|Тюрингови]] езици могат да реализират един и същ набор от алгоритми. [[SQL|ANSI/ISO SQL]] и [[Charity]] са примери за езици, които не са Тюрингови езици, но често се наричат езиците за програмиране.<ref>{{cite web | author=Digital Equipment Corporation | title=Information Technology
[[Маркиращ език|Маркиращи езици]] като [[XML]], [[HTML]] или troff, които дефинират [[структурирани данни]], не се считат за езици за програмиране.<ref>[http://www.w3.org/XML/1999/XML-in-10-points.html XML in 10 points] [[W3C]], 1999, ''XML is not a programming language.''</ref><ref>{{cite book|last=Powell|first=Thomas|title=HTML & XHTML: the complete reference|publisher=McGraw-Hill|year=2003|isbn=0-07-222-942-X|page=25|quote=''HTML is not a programming language.''}}</ref><ref>{{cite book|last1=Dykes|first1=Lucinda|first2=Ed|last2=Tittel|title=XML For Dummies, 4th Edition|publisher=Wiley|year=2005|isbn=0-7645-8845-1|page=20|quote=''...it's a markup language, not a programming language.''}}</ref> Все пак, езиците за програмиране могат да имат подобен синтаксис с маркиращите езици, ако е дефинирана семантиката. [[XSLT]] например, е Тюрингов диалект на XML. <ref>http://www.ibm.com/developerworks/library/x-xslt/</ref><ref>http://msdn.microsoft.com/en-us/library/ms767587(VS.85).aspx</ref><ref>{{cite book|last=Scott|first=Michael|title=Programming Language Pragmatics|publisher=[[Morgan Kaufmann]]|year=2006|isbn=0-12-633951-1|page=802|quote=''XSLT, though highly specialized to the transformation of XML, is a Turing-complete programming language.''}}</ref> Освен това, [[LaTeX]], който се използва предимно за структуриране на документи, съдържа и Тюрингово подмножество.<ref>http://tobi.oetiker.ch/lshort/lshort.pdf</ref><ref>{{cite book|last=Syropoulos|first=Apostolos|coauthors=Antonis Tsolomitis, Nick Sofroniou|title=Digital typography using LaTeX|publisher=Springer-Verlag|year = 2003|isbn=0-387-95217-9|page=213|quote=''TeX is not only an excellent typesetting engine but also a real programming language.''}}</ref>
Ред 22:
== Вижте също ==
* [[Списък на езици за програмиране]]
* [[История на програмните езици]]
== Бележки ==
|