Програмски језик — разлика између измена
Садржај обрисан Садржај додат
. |
м Разне исправке |
||
Ред 1:
[[Датотека:C Hello World Program.png|
| author=Surana P
| title=Meta-Compilation of Language Abstractions.
Ред 13:
'''Програмски језик''' је [[формални језик]] који се може користити за контролу понашања [[машина|машине]], нарочито [[рачунар]]а.<ref name="Aaby 2004">{{harvnb|Aaby|2004|p=1}}</ref>
Најранија позната програмибилна машина која је претходила [[istorija računara|изуму дигиталног рачунара]] био је аутоматски флаутиста, направа коју су у 9. веку описала [[Banu Musa|браћа Муса]] из [[Багдад]]а, током [[златно доба Ислама|Исламске златне ере]].<ref>{{
Програмски језици се користе да олакшају комуникацију са рачунаром приликом организовања и манипулације [[информација]], али и да прецизно изразе [[алгоритам|алгоритме]]. Неки аутори ограничавају израз „програмски језик“ само на језике којима се могу изразити сви могући алгоритми, а понекад се користи израз „рачунарски језик“, који се односи на више ограничене вештачке језике. Створено је [[списак програмских језика|више хиљада]] програмских језика, и нови се стварају сваке године. Многи програмски језици језици захтевају да се прорачун специфицира у [[Императивно програмирање|императивној]] форми<ref>{{cite web
Ред 20:
| author = Michael Stevens
| year = 2011
|pages=5| publisher = Australian National University▼
▲| publisher = Australian National University
| archiveurl = https://cs.anu.edu.au/student/comp3610/lectures/Paradigms.pdf
| archivedate= 2011
Линија 39 ⟶ 38:
; Функција и циљ
: ''Рачунарски програмски језик'' је [[формални језик|језик]] који се користи за писање [[рачунарски програм|рачунарских програма]], чиме су обухваћени [[рачунар]] који изводи неку врсту рачунања<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 = 19. 6. 2006|year=2003|deadurl=no|archiveurl=https://web.archive.org/web/20060622110145/http://www.acm.org/sigs/sigplan/sigplan_bylaws.htm|archivedate = 22. 6. 2006.|df=dmy-all}}, ''The scope of SIGPLAN is the theory, design, implementation, description, and application of computer programming languages - languages that permit the specification of a variety of different computations, thereby providing the user with significant control (immediate or delayed) over the computer's operation.''</ref> или [[алгоритам]] и могуће контролу спољашњих уређаја као што су [[штампач]]и, [[Disk storage|дискови]] за чување података, [[робот]]и,<ref name="robots">{{cite web |url=http://www.cs.brown.edu/people/tld/courses/cs148/02/programming.html |title=Programming Robots |accessdate = 23. 9. 2006. |last=Dean|first=Tom |year=2002|work=Building Intelligent Robots |publisher=Brown University Department of Computer Science |deadurl=no |archiveurl=https://web.archive.org/web/20061029045949/http://www.cs.brown.edu/people/tld/courses/cs148/02/programming.html |archivedate = 29. 10. 2006. |df=dmy-all
; Апстракције
: Програмски језици обично садрже [[abstraction (computer science)|апстракције]] за дефинисање и манипулисање [[структура података|структурама података]] или контролисање [[контрола тока|извршног протока]]. Практична неопходност да програмски језик подржава адекватне апстракције је изражена [[Abstraction principle (computer programming)|принципом апстракције]],{{sfn|Schmidt|1994|p=32}} који се понекад формулише као препорука програмеру да на одговарајући начин користи такве апстракције.{{sfn|Pierce|2002|p=339}}
Линија 45 ⟶ 44:
: [[Теорија израчунљивости]] класификује језике по прорачунима које су способни да изразе. У свим језицима који су потпуни у [[Turing completeness|Тјуринговом]] смислу може се имплементирати исти сет [[алгоритам]]а. [[SQL-92|-{ANSI/ISO SQL-92}-]] и [[Charity (programming language)|-{''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|accessdate = 29. 6. 2006.|deadurl=no|archiveurl=https://web.archive.org/web/20060621035823/http://www.contrib.andrew.cmu.edu/%7Eshadow/sql/sql1992.txt|archivedate = 21. 6. 2006.|df=dmy-all}}</ref><ref>{{cite web|author=The Charity Development Group|title=The CHARITY Home Page|url=http://pll.cpsc.ucalgary.ca/charity1/www/home.html|date=December 1996|accessdate = 29. 6. 2006.|deadurl=no|archiveurl=https://web.archive.org/web/20060718010551/http://pll.cpsc.ucalgary.ca/charity1/www/home.html|archivedate = 18. 7. 2006.|df=dmy-all}}, ''Charity is a categorical programming language...'', ''All Charity computations terminate.''</ref>
[[Jezik za obeležavanje|Језици за обележавање]] као што су -{[[XML]]}-, -{[[HTML]]}-, или -{[[troff]]}-, и који дефинишу [[Data model|структуиране податке]], обично се не сматрају програмским језицима.<ref>[http://www.w3.org/XML/1999/XML-in-10-points.html XML in 10 points] {{webarchive|url=https://web.archive.org/web/20090906083110/http://www.w3.org/XML/1999/XML-in-10-points.html |date = 6. 9. 2009. }} [[W3C]], 1999, ''XML is not a programming language.''</ref>{{sfn|Powell|2003|p=25}} Програмски језици могу, међутим, да имају заједничку синтаксу са језицима за обележавање, ако је рачунарска семантика дефининсана. -{[[XSLT]]}-, на пример, је [[Turing completeness|Тјурингов комплетан]] -{XML}- дијалекат.<ref>{{cite web|url=http://www.ibm.com/developerworks/library/x-xslt/|title=What kind of language is XSLT?|publisher=IBM.com|accessdate = 3. 12. 2010.|deadurl=no|archiveurl=https://web.archive.org/web/20110511192712/http://www.ibm.com/developerworks/library/x-xslt/|archivedate = 11. 5. 2011.|df=dmy-all}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/ms767587(VS.85).aspx|title=XSLT is a Programming Language|publisher=Msdn.microsoft.com|accessdate = 3. 12. 2010.|deadurl=no|archiveurl=https://web.archive.org/web/20110203015119/http://msdn.microsoft.com/en-us/library/ms767587(VS.85).aspx|archivedate = 3. 2. 2011.|df=dmy-all}}</ref><ref>{{
Термин ''рачунарски језик'' се понекад користи синонимно са програмским језиком.<ref>Robert A. Edmunds, The Prentice-Hall standard glossary of computer terminology, Prentice-Hall, (1985).
Једно алтернативно гледиште на употребу језика сматра програмске језике теоретским констрактима за програмирање апстрактних машина, а рачунарске језике њиховим подскупом који се извршава на физичким рачунарима, који имају коначне хардверске ресурсе.<ref>R. Narasimahan, Programming Languages and Computers: A Unified Metatheory.
== Машински и асемблерски језици ==
Линија 85 ⟶ 84:
== Литература ==
* {{Cite book|last=Syropoulos|first=Apostolos|last2=Tsolomitis|first2=Antonis|last3=Sofroniou|first3=Nick|title=Digital typography using LaTeX|publisher=Springer-Verlag|year=2003|isbn=978-0-387-95217-8|quote=''TeX is not only an excellent typesetting engine but also a real programming language.''|pages=213}}
* {{Cite book |ref= harv|last=Scott|first=Michael|title=Programming Language Pragmatics|publisher=[[Morgan Kaufmann]]|year=2006|isbn=978-0-12-633951-2|quote=''XSLT, though highly specialized to the transformation of XML, is a Turing-complete programming language.''|pages=802}}
{{refbegin|30em}}
|