中文

开发者如何在技术问答站点讨论并支持新编程语言?对 Stack Overflow 中 Go、Swift 与 Rust 的实证研究

软件工程 2021-05-06 v1

摘要

新编程语言(如 Swift、Go、Rust 等)的不断引入为开发者提供了使软件开发更健壮、更便捷的机会。在早期阶段,编程语言往往面临资源约束,促使开发者频繁向 Stack Overflow(SO)等问答站点中活跃的经验同行寻求帮助。本研究中,我们正式研究了 SO 成立(2008 年)后引入的三种流行新语言的讨论,并在适当时将其与 GitHub 中的相关活动相匹配。为此,我们从 SO 挖掘了 417,82,536 条问答,并从 GitHub 获取了 7,846 条 issue 信息及 6,60,965 条仓库信息。起初,新语言的发展相对成熟语言(如 C、C++、Java)较慢。本研究的预期结果是揭示使用这些语言的开发者所面临的困难与挑战,以便采取适当措施加速相关资源的生成。我们对 SO 的问答使用 LDA 方法识别新语言的不同主题。我们从 SO 提取新语言回答模式的若干特征以研究其特性,这些属性用于识别困难主题。我们探究了贡献于这些语言的开发者背景。我们结合 Stack Overflow 数据与 GitHub 的 issue、仓库、用户数据建立了模型,并最终用该模型识别影响语言演进的因素。我们相信研究结果有助于这些语言的所有者/赞助方设计更好的特性与文档,也将帮助软件开发者或学生以知情方式做好准备从事这些语言的工作。

关键词

引用

@article{arxiv.2105.01709,
  title  = {How do developers discuss and support new programming languages in technical Q&A site? An empirical study of Go, Swift, and Rust in Stack Overflow},
  author = {Partha Chakraborty and Rifat Shahriyar and Anindya Iqbal and Gias Uddin},
  journal= {arXiv preprint arXiv:2105.01709},
  year   = {2021}
}

备注

Information and Software Technology