Ausdrucksorientierte Programmiersprache - Expression-oriented programming language
Eine ausdrucksorientierte Programmiersprache ist eine Programmiersprache, in der jede (oder fast jede) Konstruktion ein Ausdruck ist und somit einen Wert liefert. Die typischen Ausnahmen sind Makrodefinitionen , Präprozessorbefehle und Deklarationen , die von ausdrucksorientierten Sprachen oft als Anweisungen behandelt werden .
ALGOL 68 und Lisp sind ausdrucksorientierte Sprachen. Pascal ist keine ausdrucksorientierte Sprache.
Alle funktionalen Programmiersprachen sind ausdrucksorientiert.
Kritik und Prävention
Kritiker, darunter Sprachdesigner, Schuld Ausdruck Orientierung für eine ganze Klasse von Programmierfehlern , bei dem ein Programmierer einen zufällig Codes Zuordnung Ausdruck , die eher eine Variable mit einem Ausdruck ersetzt , als es für die Prüfung der Gleichstellung mit diesem Ausdruck.
Die Entwickler von Ada und Java verhindern diese Art von Fehlern, indem sie Kontrollausdrücke auf solche beschränken, die ausschließlich den booleschen Datentyp auswerten .
Die Entwickler von Python haben die Zuweisung als Anweisung und nicht als Ausdruck implementiert, wodurch verhindert wird, dass Zuweisungen in andere Anweisungen oder Ausdrücke eingebettet werden. (Bis Version 3.8 wurden 'Zuweisungsausdrücke' mit einer anderen Syntax hinzugefügt.)
In einigen ausdrucksorientierten Sprachen geben Ausdrücke, die lediglich Nebeneffekte verursachen , void-Typen zurück .