In diesem Beitrag schreibt Martin (der Haupthoncho der Sprache):
[XML-Literale] Schien damals eine großartige Idee zu sein, jetzt ragt sie hervor wie ein schmerzender Daumen. Ich glaube, dass wir mit dem neuen String-Interpolationsschema die gesamte XML-Verarbeitung in die Bibliotheken integrieren können, was ein großer Gewinn sein dürfte.
Da ich mich selbst für Sprachdesign interessiere, frage ich mich: Warum schreibt er, dass es ein Fehler war, XML-Literale in die Sprache zu integrieren? Was ist die Kontroverse bezüglich dieser Funktion?
language-design
scala
Eiche
quelle
quelle
Antworten:
Ich glaube, Martin erklärt die Argumentation in seinem Beitrag sehr gut:
Das Problem, mit dem viele Sprachen konfrontiert sind, wenn sie immer beliebter werden, besteht darin, dass Funktionen von der Community gewünscht und zusätzlich zur Sprache hinzugefügt werden. Ein Worst-Case-Beispiel dafür (zumindest in meinem Buch) ist C ++, wo Sie so ziemlich alles haben, aber überhaupt nicht auf eine schöne einheitliche Weise (siehe zum Beispiel diese Frage, die sich daraus ergibt).
Die Schwierigkeit, wenn eine Sprache aufgrund von Anforderungen / Bedürfnissen der Community wächst, besteht darin, die neuen Funktionen so hinzuzufügen, dass sie mit dem Kern der Sprache übereinstimmen. In dieser Hinsicht ist die Unterstützung von XML-Literalen durch Scala ein wunder Daumen, weil dies eine einzigartige Sache ist. Es ist nicht wirklich Teil eines schönen einheitlichen Kerns, wurde jedoch als einmalige Lösung hinzugefügt, während die String-Interpolation ein Kernkonzept ist, das leistungsfähig genug ist, um die einmalige Funktion zu ersetzen.
quelle