Język programowania zorientowany na wyrażenia - Expression-oriented programming language
Język programowania zorientowanego wyrażenie to język programowania , w którym każdy (lub prawie każdy) budowa jest ekspresja , a tym samym daje wartość. Typowymi wyjątkami są definicje makr , polecenia preprocesora i deklaracje , które języki zorientowane na wyrażenia często traktują jako instrukcje .
ALGOL 68 i Lisp to języki zorientowane na wyrażenia. Pascal nie jest językiem zorientowanym na wyrażenia.
Wszystkie funkcjonalne języki programowania są zorientowane na wyrażenia.
Krytyka i prewencja
Krytycy, w tym projektanci języka, obwiniają orientację na wyrażenia za całą klasę błędów programowania, w których programista przypadkowo koduje wyrażenie przypisania , które zastępuje zmienną wyrażeniem, zamiast testować ją pod kątem równości z tym wyrażeniem.
Projektanci Ady i Javy zapobiegają tego typu błędom, ograniczając wyrażenia sterujące do tych, które oceniają wyłącznie typ danych binarnych .
Projektanci Pythona zaimplementowali przypisanie jako instrukcję, a nie wyrażenie, uniemożliwiając w ten sposób zagnieżdżanie przypisania wewnątrz jakiejkolwiek innej instrukcji lub wyrażenia. (Do wersji 3.8 dodano „wyrażenia przypisania” o innej składni).
W niektórych językach zorientowanych na wyrażenia wyrażenia, które powodują jedynie efekty uboczne, zwracają typy void .