字符串 API 的批判性分析:以 Pharo 为例
编程语言
2019-04-30 v1 软件工程
摘要
除 C 以外的大多数编程语言都提供了字符字符串的原生抽象,但字符串 API 在规模、表达力和主观便利性上跨语言差异巨大。在 Pharo 中,虽然乍看之下 String 类的 API 似乎很丰富,但在实践中常显得笨重;为提升其可用性,我们面临着评估其设计的挑战。然而,我们几乎找不到关于设计驱动力及其如何构建设计空间的指南,也缺乏对预期字符串操作及其不同变体的全面分析。在本文中,我们首先分析了 Pharo 4 的 String 库,随后将其与 Haskell、Java、Python、Ruby 和 Rust 的对应实现进行对比。我们提炼出描述字符串 API 的准则,并反思其特性与设计张力。该分析应有助于语言设计者理解字符串的设计空间,并将作为 Pharo 中字符串库未来重设计的基石。
引用
@article{arxiv.1711.10713,
title = {A critical analysis of string APIs: The case of Pharo},
author = {Damien Pollet and Stéphane Ducasse},
journal= {arXiv preprint arXiv:1711.10713},
year = {2019}
}
备注
Science of Computer Programming, Elsevier, 2017