Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Ausdrucksorientierte Programmiersprache – Wikipedia
Ausdrucksorientierte Programmiersprache – Wikipedia
aus Wikipedia, der freien Enzyklopädie

Ausdrucksorientiertheit (von englisch expression-oriented) ist eine Eigenschaft mancher Programmiersprachen bzw. ein Paradigma für das Design derselben. Sprachen mit dieser Eigenschaft zeichnen sich dadurch aus, dass fast jede Konstruktion einen gültigen Ausdruck ergibt, der deshalb mutatis mutandis auch einen Rückgabewert hat. Typische Ausnahmen von diesem Grundsatz sind dabei Makrodefinitionen, Präprozessorkommandos und Deklarationen, die ausdrucksorientierte Sprachen oft als Anweisungen und nicht als Ausdrücke behandeln. In einigen ausdrucksorientierten Programmiersprachen existiert ein Rückgabewert vom Typ void. Ausdrücke, die diesen ergeben, werden dann lediglich wegen ihrer Nebenwirkungen genutzt.

Beispiele für ausdrucksorientierte Programmiersprachen sind Algol 68 und Lisp, während hingegen etwa Pascal keine ausdrucksorientierte Sprache ist. Alle funktionalen Programmiersprachen sind ebenfalls ausdrucksorientiert.

Kritik

[Bearbeiten | Quelltext bearbeiten]

Manche Sprach-Designer führen eine ganze Klasse von Programmierfehlern auf Expression Orientation zurück, insbesondere solche, wo ein Programmierer eine Zuweisung mit dem Test auf Gleichheit verwechselt bzw. verwechselbar macht.[1] Die angeführte Quelle benennt als Beispiel:

if ( c++ = d++ )
 …

und gibt als korrekte Alternative an:

if ( ( c++ = d++ ) != 0 )
 …

Um derartige Verwechslungen zu vermeiden, unterscheidet sich in den Algol-ähnlichen Programmiersprachen die Zuweisung syntaktisch vom Vergleich: alle Zuweisungsoperatoren enthalten die Zeichenfolge :=, kein Vergleichsoperator enthält einen Doppelpunkt. Das obige Beispiel lautet in Algol 68:

if (c +:= 1) = (d +:= 1)
then …

In Ada und Java sind aus diesem Grund Ausdrücke in Kontrollstrukturen auf solche eingeschränkt, die boolesche Rückgabewerte haben.[2][3]

Hingegen wird in Python eine alternative Strategie verwandt: Zuweisungen haben die Form von Anweisungen, nicht von Ausdrücken. Dadurch werden Zuweisungen innerhalb von anderen Anweisungen oder Ausdrücken unterbunden.[4]

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • Command-Query-Separation

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Java Code Conventions, 10.4 Variable Assignments (eng.)
  2. ↑ Java Language Specification, 14.9 The if Statement (eng.)
  3. ↑ Introducing Ada
  4. ↑ The Python Language Reference, 6.2. Assignment statements (eng.)
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Ausdrucksorientierte_Programmiersprache&oldid=244058552“
Kategorien:
  • Programmiersprachklasse
  • Programmierparadigma

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id