How (and why) developers use the dynamic features of programming languages: The case of smalltalk
MetadataShow full item record
The dynamic and reflective features of programming languages are powerful constructs that programmers often mention as extremely useful. However, the ability to modify a program at runtime can be both a boon - in terms of flexibility -, and a curse - in terms of tool support. For instance, usage of these features hampers the design of type systems, the accuracy of static analysis techniques, or the introduction of optimizations by compilers. In this paper, we perform an empirical study of a large Smalltalk codebase - often regarded as the poster-child in terms of availability of these features -, in order to assess how much these features are actually used in practice, whether some are used more than others, and in which kinds of projects. In addition, we performed a qualitative analysis of a representative sample of usages of dynamic features in order to uncover (1) the principal reasons that drive people to use dynamic features, and (2) whether and how these dynamic feature usages can be removed or converted to safer usages. These results are useful to make informed decisions about which features to consider when designing language extensions or tool support.
Showing items related by title, author, creator and subject.
Callaú O; Robbes R; Tanter E; Röthlisberger D (ACM, 2011)The dynamic and reflective features of programming languages are powerful constructs that programmers often mention as extremely useful. However, the ability to modify a program at runtime can be both a boon-in terms of ...
Ceylan, II; Peñaloza, R (ArXiv, 2015)Many formalisms combining ontology languages with uncertainty, usually in the form of probabilities, have been studied over the years. Most of these formalisms, however, assume that the probabilistic structure of the ...
Streiter O; Knapp J; Voltmer L; Vettori C; Stuflesser M; Zielinski D (2005)In this paper we present methods for the dynamic processing of texts and images in the framework of contextualized learning. For that purpose we introduce Gymn@zilla, a browser-like application designed for intercultural ...