A critical analysis of string APIs: The ...
Document type :
Compte-rendu et recension critique d'ouvrage
Title :
A critical analysis of string APIs: The case of Pharo
Author(s) :
Pollet, Damien [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Journal title :
Science of Computer Programming
Pages :
1-12
Publisher :
Elsevier
Publication date :
2017-11
ISSN :
0167-6423
English keyword(s) :
Style
Strings
API
Design
Library
Strings
API
Design
Library
HAL domain(s) :
Informatique [cs]/Langage de programmation [cs.PL]
Informatique [cs]/Génie logiciel [cs.SE]
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
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 ...
Show more >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.Show less >
Show more >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.Show less >
Language :
Anglais
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-01651250/document
- Open access
- Access the document
- http://arxiv.org/pdf/1711.10713
- Open access
- Access the document
- https://hal.inria.fr/hal-01651250/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01651250/document
- Open access
- Access the document
- document
- Open access
- Access the document
- mainJournal.pdf
- Open access
- Access the document
- 1711.10713
- Open access
- Access the document