El tema de este artículo puede no cumplir con las pautas generales de notabilidad de Wikipedia . ( julio de 2022 ) |
Un lenguaje de programación orientado a expresiones es un lenguaje de programación en el que cada (o casi cada) construcción es una expresión y, por lo tanto, produce un valor. [1] Las excepciones típicas son las definiciones de macros , los comandos de preprocesador y las declaraciones , que los lenguajes orientados a expresiones a menudo tratan como instrucciones .
Lisp [2] y ALGOL 68 son lenguajes orientados a expresiones. Pascal no es un lenguaje orientado a expresiones.
Todos los lenguajes de programación funcional están orientados a expresiones. [3]
This article or section possibly contains synthesis of material which does not verifiably mention or relate to the main topic. (July 2022) |
Los críticos, incluidos los diseñadores de lenguajes, [4] [ verificación fallida ] culpan a la orientación a expresiones por una clase entera 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 probar su igualdad con esa expresión.
Los diseñadores de Ada y Java evitan este tipo de error al restringir las expresiones de control a aquellas que evalúan estrictamente el tipo de datos booleano . [5] [6]
Los diseñadores de Python implementaron la asignación como una declaración en lugar de una expresión, lo que prohibía que la asignación se anidara dentro de cualquier otra declaración o expresión. [7] (Hasta la versión 3.8 se agregaron "expresiones de asignación", con una sintaxis diferente. [8] )
En algunos lenguajes orientados a expresiones, las expresiones que simplemente causan efectos secundarios devuelven tipos void .
This article needs additional citations for verification. (July 2022) |
This section needs expansion. You can help by adding to it. (February 2018) |