TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption of dynamic language features can be a major hindrance to static analysis. As TypeScript evolves the addition of features makes the underlying standard more and more difficult to keep up with. In our work we present an analysis of 454 open source TypeScript repositories and study the adoption of 13 language features over the past three years. We show that while new versions of the TypeScript compiler are aggressively adopted by the community, the same cannot be said for language features. While some experience strong growth others are rarely adopted by projects. Our work serves as a starting point for future study of the adoption of features in TypeScript. We also release our analysis and data gathering software as open source in the hope it helps the programming languages community.
翻译:TypeScript是一种快速演进的JavaScript超集,其新特性开发十分活跃。本文旨在探究开发者群体对这些特性的采纳速度。现有关于JavaScript的研究表明,动态语言特性的采纳可能成为静态分析的主要障碍。随着TypeScript的演进,新增特性使得底层标准愈发难以同步跟进。本文对454个开源TypeScript代码仓库进行了分析,研究了13项语言特性在过去三年间的采纳情况。研究显示,虽然开发者社区会积极采纳新版TypeScript编译器,但语言特性的采纳情况却截然不同——部分特性增长强劲,而另一些则鲜有项目采用。本研究为后续TypeScript特性采纳研究提供了起点。我们同时将分析及数据采集软件作为开源项目发布,期望能对编程语言社区有所助益。