PLSENov 29, 2017

A critical analysis of string APIs: The case of Pharo

arXiv:1711.10713v11 citations
Originality Synthesis-oriented
AI Analysis

This work addresses usability issues in string APIs for language designers, particularly in Pharo, but is incremental as it focuses on analysis rather than new methods.

The authors analyzed the string API in Pharo 4, comparing it with other languages to identify design criteria and tensions, aiming to inform future redesigns for improved usability.

Most programming languages, besides C, provide a native abstraction for character strings, but string APIs vary widely in size, expressiveness, and subjective convenience across languages. In Pharo, while at first glance the API of the String class seems rich, it often feels cumbersome in practice; to improve its usability, we faced the challenge of assessing its design. However, we found hardly any guideline about design forces and how they structure the design space, and no comprehensive analysis of the expected string operations and their different variations. In this article, we first analyse the Pharo 4 String library, then contrast it with its Haskell, Java, Python, Ruby, and Rust counterparts. We harvest criteria to describe a string API, and reflect on features and design tensions. This analysis should help language designers in understanding the design space of strings, and will serve as a basis for a future redesign of the string library in Pharo.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes