Lenguaje de programación orientado a expresiones - Expression-oriented programming language

Un lenguaje de programación orientado a expresiones es un lenguaje de programación en el que cada (o casi toda) construcción es una expresión y, por lo tanto, produce un valor. Las excepciones típicas son las definiciones de macros , los comandos del preprocesador y las declaraciones , que los lenguajes orientados a expresiones a menudo tratan como declaraciones .

ALGOL 68 y Lisp son lenguajes orientados a expresiones. Pascal no es un lenguaje orientado a las expresiones.

Todos los lenguajes de programación funcional están orientados a expresiones.

Crítica y prevención

Los críticos, incluidos los diseñadores de lenguajes, culpan a la orientación a la expresión de toda una clase de errores de programación en los que un programador codifica accidentalmente una expresión de asignación , que reemplaza una variable con una expresión en lugar de probarla para que sea igual a esa expresión.

Los diseñadores de Ada y Java previenen este tipo de errores al restringir las expresiones de control a aquellas que evalúan estrictamente al tipo de datos booleanos .

Los diseñadores de Python implementaron la asignación como una declaración en lugar de una expresión, por lo que prohibieron que la asignación se anidara dentro de cualquier otra declaración o expresión. (Hasta la versión 3.8 se agregaron 'expresiones de asignación', con una sintaxis diferente).

En algunos lenguajes orientados a expresiones, las expresiones que simplemente causan efectos secundarios devuelven tipos vacíos .

Ejemplos de

Ver también

Referencias