一句话:通过分析 Stack Overflow 上 586 个帖子,揭示多语言软件开发的问题、挑战与解决途径。
多语言混合开发已是主流实践,但开发者遇到哪些问题、背后挑战及解决方案仍不清晰。本文通过研究 Stack Overflow 上跨越 14 年的 586 个高相关帖子,手工分析并归纳问题类型、挑战与解决情况。研究发现共 11 类问题,以不同语言间的接口和数据处理为主;主要挑战是多语言代码构建与互操作的多样性和复杂性,以及开发者对多语言特性(如线程和内存管理机制)的技术背景不足。Stack Overflow 本身是重要解决来源:73% 帖子最终获得采纳答案,其中 36.5% 在 24 小时内、25% 在接下来 6 天内获得。基于发现,作者为研究者和开发者提供可操作建议。
Developing a software project using multiple languages together has been a dominant practice for years. Yet it remains unclear what issues developers encounter during the development, which challenges cause the issues, and what solutions developers receive. In this paper, we aim to answer these questions via a study on developer discussions on Stack Overflow. By manually analyzing 586 highly relevant posts spanning 14 years, we observed a large variety (11 categories) of issues, dominated by those with interfacing and data handling among different languages. Behind these issues, we found that a major challenge developers faced is the diversity and complexity in multilingual code building and interoperability. Another key challenge lies in developers' lack of particular technical background on the diverse features of various languages (e.g., threading and memory management mechanisms). Meanwhile, Stack Overflow itself served as a key source of solutions to these challenges-the majority (73%) of the posts received accepted answers eventually, and most in a week (36.5% within 24 hours and 25% in the next 6 days). Based on our findings on these issues, challenges, and solutions, we provide actionable insights and suggestions for both multi-language software researchers and developers.