arXiv:2412.02290cs.SIcs.CL2024-12

分析编程挑战赛中开发者共享信息模式,发现主流语言稳定性与社区偏好关系。

Characterizing Information Shared by Participants to Coding Challenges: The Case of Advent of Code

  • 构建2019-2021年竞赛讨论数据集,用流图模型追踪参与者、评论与语言随时间演变
  • 三年主流语言基本一致,多数人全程使用同一语言,跨年参与者更易换语言
  • 受欢迎语言更易坚持到底且被选作中途更换目标,反映社区偏好影响技术选择

Advent of Code(AoC)是一项每年持续25天的编程挑战,涵盖多种技能水平。参赛者常在社交平台如Reddit的/r/adventofcode板块分享解题思路与代码。为研究开发者行为,我们构建了2019-2021年该论坛的讨论数据集,并提出基于流图的建模方法,动态追踪参与者、评论与编程语言的演化。结果表明:近三年主流语言高度稳定;多数用户在单届挑战中保持使用同一种语言,而连续参与两届的人更倾向于更换语言;此外,根据Stack Overflow调查中“流行”或“受喜爱”的语言,其在挑战中使用时长最长,且当用户决定换语言时,这些语言也最常被选中,反映出社区偏好对技术采纳的重要影响。

原文摘要 · Abstract (English)

Advent of Code (AoC from now on) is a popular coding challenge requiring to solve programming puzzles for a variety of skill sets and levels. AoC follows the advent calendar, therefore it is an annual challenge that lasts for 25 days. AoC participants usually post their solutions on social networks and discuss them online. These challenges are interesting to study since they could highlight the adoption of new tools, the evolution of the developer community, or the technological requirements of well-known companies. For these reasons, we first create a dataset of the 2019-2021 AoC editions containing the discussion threads made on the subreddit {\tt /r/adventofcode}. Then, we propose a model based on stream graphs to best study this context, where we represent its most important actors through time: participants, comments, and programming languages. Thanks to our model, we investigate user participation, adoption of new programming languages during a challenge and between two of them, and resiliency of programming languages based on a Stack Overflow survey. We find that the top-used programming languages are almost the same in the three years, pointing out their importance. Moreover, participants tend to keep the same programming language for the whole challenge, while the ones attending two AoCs usually change it in the next one. Finally, we observe interesting results about the programming languages that are ``Popular'' or ``Loved'' according to the Stack Overflow survey. Firstly, these are the ones adopted for the longest time in an AoC edition, thanks to which users have a high chance of reaching the end of the challenge. Secondly, they are the most chosen when a participant decides to change programming language during the same challenge.

编程挑战开发者社区语言偏好

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。