Growing A Language: An Empirical Study On How (And Why) Developers Use Some Recently-Introduced And/Or Recently-Evolving Javascript Features

JOURNAL OF SYSTEMS AND SOFTWARE(2016)

引用 3|浏览1
暂无评分
摘要
We describe an empirical study to understand how different language features in JavaScript are used by developers, with the goal of using this information to assist future extensions of JavaScript. We inspected more than one million unique scripts (over 80 MLOC) from various sources: JavaScript programs in the wild collected by a spider, (supposedly) better JavaScript programs collected from the top 100 URLs from the Alexa list, JavaScript programs with new language features used in Firefox Add-ons, widely used JavaScript libraries, and Node.js applications. Our corpus is larger and more diversified than those in prior studies. We also performed two explanatory studies to understand the reasons behind some of the language feature choices. One study was conducted on 107 JavaScript developers; the other was conducted on 45 developers of Node.js applications. Our study shows that there is a widespread confusion about newly introduced JavaScript features, a continuing misuse of existing problematic features, and a surprising lack of adoption of object-oriented features. It also hints at why developers choose to use language features this way. This information is valuable to the language designers and the stakeholders, e.g., IDE and tool builders, all of whom are responsible for growing a language. (C) 2016 Elsevier Inc. All rights reserved.
更多
查看译文
关键词
JavaScript,Empirical study,Language evolution
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要