Израз-оријентисан програмски језик је програмски језик где је свака (или скоро сваки) конструкција израз и на тај начин јој даје вредност. Типични изузетак су макро дефиниције, препроцесор команде, и декларације, које израз-оријентисани језици често третирају као наредбу него као израз. Неки израз-оријентисани језици уводе неке врсте празнина да би се повратак дао изразима који само изазивају нуспојаве.
АЛГОЛ 68 и Лисп су примери изражавања-оријентисаних језика. Паскал није израз- оријентисан језик. Сви функционални програмски језици су израз-оријентисани.
Замерка Критичари, укључујући и језичке дизајнере,Java Code Conventions "10.4 Variable Assignments" криве израз-оријентацију за целу класу програмских грешака при чему програмер уводи задатак израз где значи да тестира равноправност. На пример, дизајнери Аде и Јава су били толико забринути о овој врсти грешке, они су ограничили контролу израза онима који процењују искључиво булов тип података.Java Language Specification "14.9 The if Statement"Introducing Ada Дизајнери Пајтона су имали сличне бриге, али алтернативна стратегија задатака није спровођена као изјава него као израз, тако забрањује задатак да е угнезди унутар било које друге изјаве или изражавања.The Python Language Reference "6.2. Assignment statements"
Међутим, обележавање изазива такве грешке, а не семантику. (Уреди) Из перспективе изражавања оријентација, избор уступања ознака из, C-стила језика, знак једнакости, =, може се сматрати као лош избор јер је знак једнакости сличан са hazardously малим куцањем удаљености од обележивача,In fact, considering the automatic repetition feature of typical computer keyboards, the minimum string distance between = and == is effectively zero, the worst possible collision. C-стил језици су изабрали за оператора једнакости,==, и зато је погодна прилика за грешке. Израз-Несс задатка није узрок. Друге породице језика чине различите ознаке упозорења избора за задатак који немају овај проблем, као што су променљиве ← изражавања у APLу, променљиве <- изражавања у OCaml, S, и R, варијабле: = израза у ALGOL 68 и Standard ML, или (сетк променљива израз) у Lisp и Scheme. Осим тога, многи израз-оријентисани језици су функционални језици. У тим језицима, задатака је било ретко, или, у случају потпуно функционалних језика, немогуће.
Види још Одвајање командног упита
Белешке
Референце
Категорија:Програмске парадигме