У чому проблема з XML-літералами Scala?


9

У цій публікації Мартін (голова мови хончо) пише:

[XML literals] Тоді здавалося чудовою ідеєю, тепер вона стирчить як біль. Я вірю, що за допомогою нової строкової інтерполяційної схеми ми зможемо розмістити всю обробку XML у бібліотеках, що має стати великим виграшем.

Мене цікавить дизайн мови, мені цікаво: Чому він пише, що помилково включати XML-літерали до мови? Яка суперечка щодо цієї особливості?


2
Можливо, він мав на увазі (у публікації, яку ви пов’язували) про просте і послідовне ядро ​​та переміщення більш спеціалізованих функцій до бібліотек
Zavior

Відповіді:


11

Я вважаю, що Мартін дуже добре пояснює свої міркування у своєму пості:

Я завжди намагався зробити Скалу дуже потужною, але в той же час прекрасно простою мовою, намагаючись знайти уніфікації раніше розрізнених понять.

Проблема, з якою стикаються багато мов, коли вони стають все більш популярними, полягає в тому, що функції шукаються громадою та додаються поверх мови. Найгірший приклад цього (принаймні в моїй книзі) - це C ++, де у вас є майже все, але зовсім не в красивій уніфікованій формі (див., Наприклад, це питання, що випливає з цього).

Складність, коли мова зростає через вимоги / потреби громади, полягає в тому, щоб додати нові функції таким чином, що відповідає основній мові. І в цьому відношенні підтримка літератури XML Scala - це великий палець, тому що це унікальна річ. Це насправді не є частиною прекрасного уніфікованого ядра, але його додано як одноразове рішення, тоді як інтерполяція рядків - це основна концепція, достатньо потужна, щоб замінити функцію разового відключення.


IMHO, в ідеальному світі, мова повинна містити лише основні функції, які дозволяють спільноті розробників розширити її. Розширення не повинні бути частиною основної мови, але повинні надаватися як бібліотеки. Отже, зрештою, в редакції мови можуть бути визначені нові стандартні бібліотеки, але немає нових мовних функцій. Звичайно, визначення такої основної мови, яка є досить потужною, не є тривіальним завданням, але я думаю, деякі мови (наприклад, Lisp) підійшли до неї досить близько.
Джорджіо

Поговоріть про купу кудлатих програмістів. XMl літерали в масштабі надзвичайно корисні. Хлопці JSON-шанувальників, напевно, вважають, що вони застаріли, але забувають, що XML використовується в інших технологіях, таких як SOAP.
дратівливий_сквір
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.