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. These results are useful to make informed decisions about which features to consider when designing language extensions or tool support.
Описание
How developers use the dynamic features of programming languages
%0 Conference Paper
%1 Callau:2011:DUD
%A Callaú, Oscar
%A Robbes, Romain
%A Tanter, Éric
%A Röthlisberger, David
%B Proceedings of the 8th Working Conference on Mining Software Repositories
%C New York, NY, USA
%D 2011
%I ACM
%K 2011 language programming
%P 23--32
%R 10.1145/1985441.1985448
%T How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk
%U http://doi.acm.org/10.1145/1985441.1985448
%X 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. These results are useful to make informed decisions about which features to consider when designing language extensions or tool support.
%@ 978-1-4503-0574-7
@inproceedings{Callau:2011:DUD,
abstract = {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. These results are useful to make informed decisions about which features to consider when designing language extensions or tool support.},
acmid = {1985448},
added-at = {2018-01-11T18:32:12.000+0100},
address = {New York, NY, USA},
author = {Calla\'{u}, Oscar and Robbes, Romain and Tanter, \'{E}ric and R\"{o}thlisberger, David},
biburl = {https://www.bibsonomy.org/bibtex/2875931abe19b37a38a6209b0cecd1f85/achakraborty},
booktitle = {Proceedings of the 8th Working Conference on Mining Software Repositories},
description = {How developers use the dynamic features of programming languages},
doi = {10.1145/1985441.1985448},
interhash = {ee970f64d81a80844d6cc4f39e8d006c},
intrahash = {875931abe19b37a38a6209b0cecd1f85},
isbn = {978-1-4503-0574-7},
keywords = {2011 language programming},
location = {Waikiki, Honolulu, HI, USA},
numpages = {10},
pages = {23--32},
publisher = {ACM},
series = {MSR '11},
timestamp = {2018-01-11T18:32:12.000+0100},
title = {{How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk}},
url = {http://doi.acm.org/10.1145/1985441.1985448},
year = 2011
}