Langage de programmation orienté expression

0

Un langage de programmation orienté expression est un langage de programmation dans lequel chaque (ou presque chaque) construction est une expression et donne donc une valeur. Les exceptions typiques sont les définitions de macros , les commandes de préprocesseur et les déclarations , que les langages orientés expression traitent souvent comme des instructions .

ALGOL 68 et Lisp sont des langages orientés expression. Pascal n’est pas un langage orienté expression.

Tous les langages de programmation fonctionnels sont orientés expression. [ citation nécessaire ]

Critique et prévention

Les critiques, y compris les concepteurs de langage, [1] blâment l’orientation de l’expression pour toute une classe d’ erreurs de programmation dans lesquelles un programmeur code accidentellement une expression d’ affectation , qui remplace une variable par une expression plutôt que de la tester pour l’égalité avec cette expression.

Les concepteurs d’ Ada et de Java évitent ce type d’erreur en limitant les expressions de contrôle à celles qui évaluent strictement le type de données booléen . [2] [3]

Les concepteurs de Python ont implémenté l’affectation en tant qu’instruction plutôt qu’en tant qu’expression, interdisant ainsi l’imbrication de l’affectation dans toute autre instruction ou expression. [4] (Jusqu’à la version 3.8 ajoutait des ‘expressions d’affectation’, avec une syntaxe différente. [5] )

Dans certains langages orientés expression, les expressions qui provoquent simplement des effets secondaires renvoient des types void .

Exemples

Apprendre encore plus Cette section a besoin d’être agrandie . Vous pouvez aider en y ajoutant . ( février 2018 )
  • ALGOL 68
  • Icône
  • Zézayer
  • ML
  • perle
  • Rébol
  • Rubis
  • Haskell
  • Rouiller
  • Scala
  • Kotlin
  • OCamlComment

Voir également

  • Séparation commande-requête
  • Programmation fonctionnelle

Références

  1. ^ Conventions de code Java “10.4 Affectations de variables”
  2. ^ La spécification du langage Java, Java SE 8 Edition “14.9 L’instruction if”
  3. ^ Présentation d’Ada
  4. ^ La référence du langage Python “6.2. Déclarations d’affectation”
  5. ^ “PEP 572 : Expressions d’affectation”
You might also like
Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More