Uttrycksorienterat programmeringsspråk

Ett uttrycksorienterat programmeringsspråk är ett programmeringsspråk där varje (eller nästan varje) konstruktion är ett uttryck och därmed ger ett värde. De typiska undantagen är makrodefinitioner , preprocessorkommandon och deklarationer , som uttrycksorienterade språk ofta behandlar som satser .

Lisp och ALGOL 68 är uttrycksorienterade språk. Pascal är inget uttrycksorienterat språk.

Alla funktionella programmeringsspråk är uttrycksorienterade. [ citat behövs ]

Kritik och förebyggande

Kritiker, inklusive språkdesigners, [ misslyckad verifiering ] skyller uttrycksorientering för en hel klass av programmeringsmisstag där en programmerare av misstag kodar ett tilldelningsuttryck , som ersätter en variabel med ett uttryck snarare än att testa det för likhet med det uttrycket.

Utformarna av Ada och Java förhindrar denna typ av misstag genom att begränsa kontrolluttryck till de som strikt utvärderas till den booleska datatypen .

Utformarna av Python implementerade tilldelning som ett uttalande snarare än ett uttryck, vilket förbjöd tilldelning från att kapsla in i något annat uttalande eller uttryck. (Tills version 3.8 lade till "tilldelningsuttryck", med en annan syntax.)

I vissa uttrycksorienterade språk returnerar uttryck som bara orsakar biverkningar tomrumstyper .

Exempel

Se även