В этом посте Мартин (глава языка) пишет:
[Литералы XML] В то время это выглядело великолепной идеей, а теперь она торчит как больной большой палец. Я полагаю, что с новой схемой интерполяции строк мы сможем поместить всю обработку XML в библиотеки, что должно стать большой победой.
Я сам интересуюсь языковым дизайном и задаюсь вопросом: почему он пишет, что вводить XML-литералы в язык было ошибкой? Какое противоречие в отношении этой функции?
Ответы:
Я полагаю, что Мартин очень хорошо объясняет аргументацию в своем посте:
Проблема, с которой сталкиваются многие языки, когда они становятся все более и более популярными, заключается в том, что возможности разрабатываются сообществом и добавляются поверх языка. Наихудшим примером этого (по крайней мере, в моей книге) является C ++, где у вас есть почти все, но не совсем красивым унифицированным образом (см., Например, этот вопрос, вытекающий из этого).
Сложность, когда язык растет из-за требований / потребностей сообщества, заключается в добавлении новых функций таким образом, чтобы это соответствовало ядру языка. И в этом отношении поддержка XML-литералов в Scala очень больна, потому что это уникальная вещь. Это на самом деле не является частью красивого унифицированного ядра, но было добавлено как разовое решение, тогда как интерполяция строк - это достаточно мощная концепция ядра, чтобы заменить разовую функцию.
источник