www.wikidata.de-de.nina.az
Syntaktischer Zucker sind Syntaxerweiterungen in Programmiersprachen welche der Vereinfachung von Schreibweisen dienen 1 Diese Erweiterungen sind alternative Schreibweisen die aber nicht die Ausdrucksstarke und Funktionalitat der Programmiersprache erweitern 2 Syntaktischer Zucker lasst sich durch reine Textumformungen auf Grundelemente der Sprache zuruckfuhren desugar dt entsussen 2 Der Begriff syntactic sugar wurde in den 1960er Jahren vom britischen Informatiker Peter J Landin 3 2 gepragt Inhaltsverzeichnis 1 Beispiele 1 1 Syntaktischer Zucker in C 1 2 Diamant Operator in Java 1 3 do Notation in Haskell 2 Syntaktisches Salz 3 EinzelnachweiseBeispiele BearbeitenSyntaktischer Zucker in C Bearbeiten Ein Beispiel fur syntaktischen Zucker ist die Behandlung von Feldern in der Programmiersprache C 4 C unterscheidet streng genommen nicht zwischen Zeigern auf Objekte und Zeigern auf Felder von Objekten Ist die Variable p vom Typ Zeiger auf Byte Typ char so kann man mit p 3 auf das dritte Byte im Speicher nach der Adresse p zugreifen Dies kann man in C auch kurz schreiben als p 3 Ein weiteres Beispiel fur syntaktischen Zucker ist die Infixnotation Bei der Infix Schreibweise steht der Operator zwischen den Operanden z B 3 5 Dies kann von einem Ubersetzer direkt in die klassische Schreibweise eines Funktionsaufrufes add 3 5 ubertragen werden Diamant Operator in Java Bearbeiten Ein Beispiel fur syntaktischen Zucker in Java ist der so genannte Diamant Operator lt gt Dieser wurde mit der Version 7 eingefuhrt Er leitet den generischen Typ des zu erstellenden Objekts anhand der Typangabe der Referenz zu Anstelle von List lt HashMap lt String Point gt gt list new ArrayList lt HashMap lt String Point gt gt reicht es nun aus zu schreiben List lt HashMap lt String Point gt gt list new ArrayList lt gt um eine ArrayList der Auspragung ArrayList lt HashMap lt String Point gt gt zu erstellen do Notation in Haskell Bearbeiten In der funktionalen Programmiersprache Haskell werden fur viele Zwecke insbesondere jedoch fur die Ein und Ausgabe sogenannte Monaden verwendet Um beispielsweise eine Zeile und einen Buchstaben von der Standardeingabe einzulesen den Buchstaben vorne an die Zeile anzuhangen und das Ergebnis wieder auszugeben musste man schreiben getLine gt gt s gt getChar gt gt c gt putStrLn c s Besser umbrochen ergibt das getLine gt gt s gt getChar gt gt c gt putStrLn c s Da man solche Konstrukte sehr haufig benotigt wurde die sogenannte do Notation eingefuhrt Folgender Code ist exakt aquivalent zum obigen Beispiel do s lt getLine c lt getChar putStrLn c s Diese Form erinnert stark an ein imperatives Programm und erleichtert das Verstandnis des Inhalts Syntaktisches Salz BearbeitenDas Gegenstuck zum syntaktischen Zucker ist das syntaktische Salz eine Spracheigenschaft die das Schreiben schlechten oder schlecht lesbaren Codes erschwert ohne dabei die Funktionalitat zu erweitern 5 Syntaktisches Salz dient folglich als Hurde um sicherzustellen dass der Entwickler weiss was vor sich geht anstatt eine Programmaktion auszudrucken Ein Beispiel hier ist der new Modifizierer in C um Member aus der Basisklasse bewusst auszublenden Beim Weglassen gibt der Compiler eine Warnung aus 6 Einzelnachweise Bearbeiten RWTH Aachen syntactic sugar Abgerufen am 9 Oktober 2018 englisch a b c Type sound Syntactic Language Extension PDF Abgerufen am 9 Oktober 2018 englisch Edsger W Dijkstra weist in seinem Tripreport darauf hin dass der Begriff auf Peter Landin zuruckzufuhren ist und der Begriff wird bereits im Report 1965 des Departments of Computer Science der University of Illinois verwendet Syntaktischer Zucker in C Arrays 28 November 2013 abgerufen am 9 Oktober 2018 RWTH Aachen syntactic salt Abgerufen am 9 Oktober 2018 englisch new Modifier C Reference In microsoft com Microsoft abgerufen am 12 April 2022 Abgerufen von https de wikipedia org w index php title Syntaktischer Zucker amp oldid 236996090 Syntaktisches Salz