当前位置: X-MOL 学术Inf. Softw. Technol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
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
Information and Software Technology ( IF 3.9 ) Pub Date : 2021-04-27 , DOI: 10.1016/j.infsof.2021.106603
Partha Chakraborty , Rifat Shahriyar , Anindya Iqbal , Gias Uddin

Context:

New programming languages (e.g., Swift, Go, Rust, etc.) are being introduced to provide a better opportunity for the developers to make software development robust and easy. At the early stage, a programming language is likely to have resource constraints that encourage the developers to seek help frequently from experienced peers active in Question–Answering (QA) sites such as Stack Overflow (SO).

Objective:

In this study, we have formally studied the discussions on three popular new languages introduced after the inception of SO (2008) and match those with the relevant activities in GitHub whenever appropriate. For that purpose, we have mined 4,17,82,536 questions and answers from SO and 7,846 issue information along with 6,60,965 repository information from Github. Initially, the development of new languages is relatively slow compared to mature languages (e.g., C, C++, Java). The expected outcome of this study is to reveal the difficulties and challenges faced by the developers working with these languages so that appropriate measures can be taken to expedite the generation of relevant resources.

Method:

We have used the Latent Dirichlet Allocation (LDA) method on SO’s questions and answers to identify different topics of new languages. We have extracted several features of the answer pattern of the new languages from SO (e.g., time to get an accepted answer, time to get an answer, etc.) to study their characteristics. These attributes were used to identify difficult topics. We explored the background of developers who are contributing to these languages. We have created a model by combining Stack Overflow data and issues, repository, user data of Github. Finally, we have used that model to identify factors that affect language evolution.

Results:

The major findings of the study are: (i) migration, data and data structure are generally the difficult topics of new languages, (ii) the time when adequate resources are expected to be available vary from language to language, (iii) the unanswered question ratio increases regardless of the age of the language, and (iv) there is a relationship between developers’ activity pattern and the growth of a language.

Conclusion:

We believe that the outcome of our study is likely to help the owner/sponsor of these languages to design better features and documentation. It will also help the software developers or students to prepare themselves to work on these languages in an informed way.



中文翻译:

开发人员如何在技术问答网站上讨论和支持新的编程语言?堆栈溢出中Go,Swift和Rust的实证研究

语境:

引入了新的编程语言(例如,Swift,Go,Rust等),为开发人员提供了更好的机会来使软件开发更强大,更容易。在早期阶段,编程语言可能会受到资源限制,这会鼓励开发人员经常从活跃于问题解答(QA)站点(例如堆栈溢出(SO))的有经验的同行那里寻求帮助。

客观的:

在这项研究中,我们正式研究了SO(2008)成立后引入的三种流行新语言的讨论,并在适当时将其与GitHub中的相关活动进行匹配。为此,我们从SO和7,846个发行信息中提取了4,17,82,536个问题和答案,并从Github中提取了6,60,965个存储库信息。最初,与成熟的语言(例如C,C ++,Java)相比,新语言的开发相对较慢。这项研究的预期结果是揭示使用这些语言的开发人员所面临的困难和挑战,以便可以采取适当的措施来加快相关资源的产生。

方法:

我们对SO的问题和答案使用了潜在狄利克雷分配(LDA)方法来识别新语言的不同主题。我们从SO中提取了新语言的答案模式的几个功能(例如,获得可接受的答案的时间,获得答案的时间等)以研究其特征。这些属性用于识别困难的主题。我们探讨了为这些语言做出贡献的开发人员的背景。我们通过组合堆栈溢出数据和Github的问题,存储库,用户数据创建了一个模型。最后,我们使用该模型来确定影响语言发展的因素。

结果:

该研究的主要发现是:(i)迁移,数据和数据结构通常是新语言的难点,(ii)预计可获得足够资源的时间因语言而异,(iii)未回答问题比率随语言的年龄而增加,并且(iv)开发人员的活动模式与语言的增长之间存在关系。

结论:

我们认为我们的研究结果可能会帮助这些语言的所有者/赞助者设计更好的功能和文档。它还将帮助软件开发人员或学生以一种知情的方式做好使用这些语言的准备。

更新日期:2021-04-28
down
wechat
bug