Израз-оријентисан програмски језик је програмски језик где је свака (или скоро сваки) конструкција израз и на тај начин јој даје вредност. Типични изузетак су макро дефиниције, препроцесор команде, и декларације, које израз-оријентисани језици често третирају као наредбу него као израз. Неки израз-оријентисани језици уводе неке врсте празнина да би се повратак дао изразима који само изазивају нуспојаве.
АЛГОЛ 68 и Лисп су примери изражавања-оријентисаних језика. Паскал није израз- оријентисан језик. Сви функционални програмски језици су израз-оријентисани.
Критичари, укључујући и језичке дизајнере,[1] криве израз-оријентацију за целу класу програмских грешака при чему програмер уводи задатак израз где значи да тестира равноправност. На пример, дизајнери Аде и Јава су били толико забринути о овој врсти грешке, они су ограничили контролу израза онима који процењују искључиво булов тип података.[2][3] Дизајнери Пајтона су имали сличне бриге, али алтернативна стратегија задатака није спровођена као изјава него као израз, тако забрањује задатак да е угнезди унутар било које друге изјаве или изражавања.[4]
Међутим, обележавање изазива такве грешке, а не семантику. (Уреди) Из перспективе изражавања оријентација, избор уступања ознака из, C-стила језика, знак једнакости, =
, може се сматрати као лош избор јер је знак једнакости сличан са hazardously малим куцањем удаљености од обележивача,[nb 1] C-стил језици су изабрали за оператора једнакости,==
, и зато је погодна прилика за грешке. Израз-Несс задатка није узрок. Друге породице језика чине различите ознаке упозорења избора за задатак[5] који немају овај проблем, као што су променљиве ← изражавања
у APLу, променљиве <- изражавања
у OCaml, S, и R, варијабле: = израза у ALGOL 68 и Standard ML, или (сетк променљива израз)
у Lisp и Scheme. Осим тога, многи израз-оријентисани језици су функционални језици. У тим језицима, задатака је било ретко, или, у случају потпуно функционалних језика, немогуће.
=
and ==
is effectively zero, the worst possible collision.