Програмски језик — разлика између измена

Садржај обрисан Садржај додат
Нема описа измене
Autobot (разговор | доприноси)
м Разне исправке
Ред 1:
[[Датотека:C Hello World Program.png|thumb|right|402px|[[Изворни код]] једноставног рачунарског програма написан [[ЦC (програмски језик)|ЦC програмским језиком]], чији је излаз порука -{„[[Hello World|Hello, world!]]”}- након што се програм [[Компилатор|компилира]] и изврши.<ref>{{cite journal
| author=Surana P
| title=Meta-Compilation of Language Abstractions.
Ред 28:
}}</ref>{{sfn|Eckel|2006|p=24}} (нпр., као секвенца операција које се морају извршити), док други језици користе друге форме програмских спецификација, као што је [[Декларативно програмирање|децларативна]] форма<ref>{{citation|last=Lloyd|first=J.W.|title=Practical Advantages of Declarative Programming}}</ref><ref>{{cite thesis |first=Manuel M. T. |last=Chakravarty|year=1997|url=http://www.cse.unsw.edu.au/~chak/papers/diss.ps.gz |title=On the Massively Parallel Execution of Declarative Programs |type=Doctoral dissertation |publisher=[[Technische Universität Berlin]] |accessdate = 26. 2. 2015. |quote=In this context, the criterion for calling a programming language declarative is the existence of a clear, mathematically established correspondence between the language and mathematical logic such that a declarative semantics for the language can be based on the model or the proof theory (or both) of the logic.}}</ref> (нпр. жељени резултат се специфицира, а не како да се оствари).
 
Опис програмског језика се обично дели у две компоненте [[Синтакса (програмски језици)|синтаксу]] (форму) и [[семантика|семантику]] (значење). Неки језици су дефинисани спецификационим документом (на пример, [[ЦC (програмски језик)|ЦC]] програмски језик је специфициран путем [[International Organization for Standardization|ISO]] стандарда), док други језици (као што је [[Перл (програмски језик)|Перл]]) имају доминантну [[Programming language implementation|имплементацију]] која се третира као [[reference implementation|референца]]. Неки језици имају оба вида дефиниције, при чему је основни језик дефинисан стандардом, а екстензије се узимају из доминантне имплементације.
 
== Дефиниције ==
Ред 34:
Програмски језик је било који од вештачких језика којим је могуће дати детаљне инструкције рачунару, што су спецификације за израчунавање или [[алгоритам]].<ref name="Aaby 2004" /> Те инструкције се могу извршавати директно када су уграђене у рачунар у посебном облику који је одредио произвођач, тзв. машински језик, после једноставног процеса замене изражене у одговарајућем асемблерском језику, или после превођења из неког [[програмски језик високог нивоа|језика вишег нивоа]]. Машински и асемблерски језици су [[програмски језик ниског нивоа|језици ниског нивоа]], који захтевају од програмера да се посвети управљању свим аспектима везаним за чување података и операције над њима. На другом крају налазе се језици високог нивоа, који су ближи природном језику и ослобађају програмера бриге о тим стварима, такође су читљивији и далеко лакши за писање програма.
 
Програмски језици се, према начину описивања рада програма, деле на функцијске ([[Lisp (programski jezik)|Лисп]], [[Scheme (programski jezik)|-{''Scheme''}-]]), процедуралне ([[C (програмски језик)|ЦC]], [[Паскал (програмски језик)|Паскал]], [[Бејсик|Бејзик]]), секвенцијалне и објектно-оријентисане ([[Јава (програмски језик)|Јава]], [[Ада (програмски језик)|Ада]]), структуралне (-{[[SQL]]}-) и многе друге. Програмски језици по овој подели могу бити и мешовити, тј. да дозвољавају различите парадигме у оквиру истог програма, те нпр. [[C++]]} дозвољава и објектно-оријентисани и процедурални приступ, штавише процедурални приступ је неопходан при дефиницији почетне тачке програма у функцији <code>main</code>.
 
Неки, мада не сви, аутори ограничавају термин „програмски језик” на оне језике који могу да изразе ''све'' могуће алгоритме.<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|publisher=Oxford University Press|year=1987|isbn=978-0-19-511306-8|pages=1}}</ref> Својства која се обично сматрају важним за контитуцију програмског језика обухватају: