Syntaktischer Zucker

Syntaktischer Zucker ist ein Informatik-Begriff, der sich auf die Syntax innerhalb einer Programmiersprache bezieht, die entworfen wird, um Dinge leichter zu machen, zu lesen oder auszudrücken.

Es macht die Sprache "süßer" für Menschen, um zu verwenden: Dinge können klarer, kürzer, oder in einem alternativen Stil ausgedrückt werden, den einige bevorzugen können.

Spezifisch wird eine Konstruktion auf einer Sprache syntaktischen Zucker genannt, wenn es von der Sprache ohne eine Wirkung darauf entfernt werden kann, was die Sprache tun kann: Funktionalität und ausdrucksvolle Macht werden dasselbe bleiben. Alle Anwendungen der Konstruktion können durch Entsprechungen systematisch ersetzt werden, die sie nicht verwenden. Zum Beispiel, auf befehlenden Programmiersprachen, für Schleifen kann dadurch systematisch ersetzt werden, während Schleifen, die der Reihe nach durch gotos systematisch ersetzt werden können.

Mehr allgemein wird der Begriff gebraucht, um Syntax zu charakterisieren, die als für die Bequemlichkeit des Ausdrucks wird entwirft, zum Beispiel Verständnis in der Pythonschlange zu verzeichnen. In C# kann die Eigentumskonstruktion syntaktischen Zucker genannt werden: Es ist grob, aber nicht genau gleichwertig einem Paar des Hauer-Setters von Funktionen.

Sprachverarbeiter, einschließlich Bearbeiter, statischer Analysatoren breiten und ähnlich häufig gezuckerte Konstruktionen in grundsätzlichere Konstruktionen aus, bevor Verarbeitung, ein Prozess manchmal "desugaring" genannt hat.

Ursprünge

Syntaktischer Zucker des Begriffes wurde von Peter J. Landin 1964 ins Leben gerufen, um die Oberflächensyntax von A Programming Language (APL) zu beschreiben, die semantisch in Bezug auf die applicative Ausdrücke der Lambda-Rechnung definiert wurde.

Spätere Programmiersprachen, wie ML und Schema, haben den Begriff erweitert, um sich auf die Syntax innerhalb einer Sprache zu beziehen, die in Bezug auf einen Sprachkern von wesentlichen Konstruktionen definiert werden konnte; die günstigen, Eigenschaften des höheren Niveaus konnten "desugared" und zersetzt in diese Teilmenge sein. Das, ist tatsächlich, die übliche mathematische Praxis, sich von Primitiven zu entwickeln.

Kritik

Einige Programmierer finden, dass diese Syntax-Brauchbarkeitseigenschaften entweder unwichtig sind oder völligen frivol. Zum Beispiel hat Alan Perlis einmal in einer Verweisung auf Klammer-abgegrenzte Sprachen gewitzelt, dass "syntaktischer Zucker Krebs des Strichpunkts verursacht". (Sieh Sinngedichte auf der Programmierung.)

Abgeleitete Begriffe

Syntaktisches Salz

Die Metapher ist durch das Münzen des Begriffes syntaktisches Salz erweitert worden, das anzeigt, dass eine Eigenschaft vorgehabt hat, es härter zu machen, schlechten Code zu schreiben. Spezifisch ist syntaktisches Salz ein Reifen Programmierer müssen durch springen, um gerade zu beweisen, dass sie wissen, was weitergeht, anstatt eine Programm-Handlung auszudrücken. Zum Beispiel wird Java Ihnen nicht erlauben, eine Variable als eine interne Nummer zu erklären und dann es eine Hin- und Herbewegung oder doppelter Wert zuzuteilen, während C und C ++ irgendwelche einer internen Nummer zugeteilten Hin- und Herbewegungen automatisch stutzen werden.

Syntaktisches Saccharin

Eine andere Erweiterung ist syntaktisches Saccharin, unentgeltliche Syntax bedeutend, die Programmierung leichter nicht wirklich macht.

Zeichen und Verweisungen

  • Landin, Peter J.; eine Ähnlichkeit Zwischen Algol 60 und Lambda-Notation der Kirche: Teile I und II, Kommunikationen des ACM, 8 (2.3):89-101, 158-165 (Februar und März 1965)
  • Landin, Peter J.; ohne Befehlsformen - Ein Beispiel, Technischer Bericht, UNIVAC Systeme programmierend, Forschung, März 1965 Programmierend
  • Landin, Peter J.; Etiketten, Technischen Bericht, UNIVAC Systeme loswerdend, Forschung, Juli 1965 Programmierend
  • Landin, Peter J.; eine Generalisation von Sprüngen und Etiketten, Bericht, UNIVAC Systemen, Forschung, August 1965 Programmierend, der in der Höherwertigen und Symbolischen Berechnung, 11, Seiten 125-143 (1998) nachgedruckt ist

Szlachta / Schall-der Igel (Charakter)
Impressum & Datenschutz