Dans cet article , Martin (le chef de la langue honcho) écrit:
[Littéraux XML] Semblait une excellente idée à l'époque, maintenant elle ressort comme un pouce endolori. Je crois qu'avec le nouveau schéma d'interpolation de chaînes, nous pourrons mettre tout le traitement XML dans les bibliothèques, ce qui devrait être une grande victoire.
Étant moi-même intéressé par la conception du langage, je me demande: pourquoi écrit-il que c'était une erreur d'incorporer des littéraux XML dans le langage? Quelle est la controverse concernant cette fonctionnalité?
language-design
scala
Chêne
la source
la source
Réponses:
Je crois que Martin explique très bien le raisonnement dans son article:
Le problème auquel de nombreuses langues sont confrontées lorsqu'elles deviennent de plus en plus populaires est que les fonctionnalités sont recherchées par la communauté et ajoutées par-dessus la langue. Un pire exemple de cela (au moins dans mon livre) est le C ++, où vous avez à peu près tout, mais pas du tout d'une belle manière unifiée (voir par exemple cette question qui en découle).
La difficulté, lorsqu'une langue se développe en raison des demandes / besoins de la communauté, est d'ajouter les nouvelles fonctionnalités d'une manière cohérente avec le cœur de la langue. Et à cet égard, le support des littéraux XML de Scala est un pouce douloureux, car c'est une chose unique. Il ne fait pas vraiment partie d'un beau noyau unifié, mais a été ajouté comme solution unique, tandis que l'interpolation de chaînes est un concept de base suffisamment puissant pour remplacer la fonction unique.
la source