Език за програмиране: Разлика между версии
Изтрито е съдържание Добавено е съдържание
м замяна на месец от англ. на бг. |
м формат дати от англ. на български |
||
Ред 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=
* ''Абстракции:'' Езиците за програмиране обикновено съдържат [[абстракция (компютърни науки)|абстракции]] за дефинирането и работата със структури от данни или за управление на потока на изпълнение. Практическата необходимост, един език за програмиране да поддържа адекватни абстракции се изразява чрез принципа на абстракцията;<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 – Database Language SQL (Proposed revised text of DIS 9075) | url=http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt | work=ISO/IEC 9075:1992, Database Language SQL | dateformat=mdy | accessdate=29 юни 2006}}</ref><ref>{{cite web|author=The Charity Development Group|title=The CHARITY Home Page | url=http://pll.cpsc.ucalgary.ca/charity1/www/home.html | month=December|year=1996|accessdate=
[[Маркиращ език|Маркиращи езици]] като [[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>
|