A critical analysis of string APIs: The case of Pharo

Damien Pollet 1 Stéphane Ducasse 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : 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.
Type de document :
Article dans une revue
Science of Computer Programming, Elsevier, 2017, pp.1-12. 〈10.1016/j.scico.2017.11.005〉
Liste complète des métadonnées

https://hal.inria.fr/hal-01651250
Contributeur : Lse Lse <>
Soumis le : mardi 28 novembre 2017 - 18:17:41
Dernière modification le : vendredi 13 avril 2018 - 01:26:56

Fichiers

mainJournal.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Damien Pollet, Stéphane Ducasse. A critical analysis of string APIs: The case of Pharo. Science of Computer Programming, Elsevier, 2017, pp.1-12. 〈10.1016/j.scico.2017.11.005〉. 〈hal-01651250〉

Partager

Métriques

Consultations de la notice

152

Téléchargements de fichiers

22