Scala的XML文字有什么问题?


9

这篇文章中,马丁(该语言的主要名称)写道:

[XML字面量]在当时看来是个好主意,但现在却像拇指酸痛一样突出了。我相信通过新的字符串插值方案,我们将能够将所有XML处理放入库中,这将是一个巨大的胜利。

我自己对语言设计感兴趣,我想知道:他为什么写将XML文字合并到语言中是一个错误?关于此功能的争议是什么?


2
也许他说的是(在您链接的帖子),以具有简单和一致的核心,将更多的专业功能,以图书馆
Zavior

Answers:


11

我相信马丁在他的帖子中很好地解释了这一推理:

我一直试图通过找到以前完全不同的概念的统一来使Scala成为功能非常强大但又非常漂亮的简单语言。

许多语言在变得越来越流行时面临的问题是,社区需要功能并在语言之上添加功能。一个最坏的例子(至少在我的书中)是C ++,它拥有几乎所有的东西,但根本没有一种漂亮的统一方式(例如,参见由此产生的问题)。

当一种语言由于社区的需求而增长时,困难在于以与该语言的核心相一致的方式添加新功能。在这方面,Scala的XML文字支持令人生厌,因为这是一件独特的事情。它实际上不是漂亮的统一核心的一部分,而是作为一次性解决方案添加的,而字符串插值是一个足以替代一次性功能的核心概念。


恕我直言,在理想的世界中,一种语言应仅包含允许其开发人员社区对其进行扩展的核心功能。扩展不应是核心语言的一部分,而应作为库提供。因此,最终的语言修订版可能会指定新的标准库,但不会指定新的语言功能。当然,定义如此强大的核心语言并不是一件容易的事,但是我认为有些语言(例如Lisp)非常接近它。
Giorgio

谈论一群抱怨的程序员。Scala中的XMl文字非常有用。JSON迷们可能认为他们已经过时,但是忘记了XML在其他技术(例如SOAP)中使用。
annoying_squid
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.