TITLE:
The Tyranny of the Vital Few: The Pareto Principle in Language Design
AUTHORS:
Victor Winter, James Perry, Harvey Siy, Satish Srinivasan, Ben Farkas, James McCoy
KEYWORDS:
Java Type Resolution, Transformation, Code Migration, SCORE Processor
JOURNAL NAME:
Journal of Software Engineering and Applications,
Vol.4 No.3,
March
18,
2011
ABSTRACT: Modern high-level programming languages often contain constructs whose semantics are non-trivial. In practice however, software developers generally restrict the use of such constructs to settings in which their semantics is simple (programmers use language constructs in ways they understand and can reason about). As a result, when developing tools for analyzing and manipulating software, a disproportionate amount of effort ends up being spent developing capabilities needed to analyze constructs in settings that are infrequently used. This paper takes the position that such distinctions between theory and practice are an important measure of the analyzability of a language.