Ohhnews

分类导航

$ cd ..
Jetbrains Blog原文

Google Summer of Code 2026:Kotlin 基金会参与项目回顾

#gsoc#kotlin#开源社区#webassembly#编程教育

Google Summer of Code 2026 已圆满结束!这是 Kotlin 基金会 第四年参与 GSoC,通过实践项目和导师指导,为 Kotlin 开源生态引入了新的贡献者。

今年,两个项目成功完成,分别涉及生态中的两个领域:改善 Kotlin/Wasm 后端中的递归支持,以及构建一幅全球 Kotlin 教学版图。

祝贺 Ayako Hayasaka 和 Mark Seif Khalil,并向在整个项目期间支持他们的导师们致以衷心感谢!

以下是他们取得的更多成果。

Kotlin/Wasm 后端中的尾调用支持

贡献者: Ayako Hayasaka

导师: Charlie Zhang(JetBrains)

Ayako 的项目为 Kotlin/Wasm 后端增加了对 WebAssembly 尾调用指令的支持。编译器现在能够检测尾位置调用,并生成 return_call 或 return_call_ref,从而帮助 Kotlin/Wasm 递归程序避免调用栈不断增长。

在 Ayako 的基准测试中,在递归深度为 10,000 时,若干递归模式的运行速度提升了 1.7–4.3 倍。在深度达到一百万时,同样的程序在没有尾调用时会崩溃,而使用尾调用后则成功运行完成。

在真实项目上测试这一改动时,还发现了 V8 中一个意料之外的性能回退。Ayako 将其追溯到 return_call 缺少一项优化,提交了修复,并使该补丁被合并进 V8。

“最让我惊讶的是,Ayako 在实现新的 WebAssembly 指令并将其用于 Kotlin 后端之后,竟然在 Google V8 引擎中发现了一个 bug。她不仅报告了这个 bug,还把它修复了。” Charlie Zhang

Ayako 还继续开展后续优化,并探索在原 GSoC 项目之外支持递归代码的其他方法。

对 Ayako 来说,GSoC 2026 也是一个比日常工作更深入接触语言和运行时内部机制的机会。 “在日常工作中,我很少有机会接触一门语言的内部机制,所以这次机会让我非常享受。在调查性能变慢时,我不仅要阅读编译器代码,还要阅读 V8 的代码,我意识到在我平时处理的代码之外,还有太多东西需要学习。” [LOADING...] Ayako Hayasaka

阅读 Ayako 的完整故事 → 最终项目报告

绘制全球 Kotlin 教育版图

贡献者: Mark Seif Khalil

导师: Ksenia Shneyveys(JetBrains)和 Elizaveta Artser(JetBrains)

Mark 的项目旨在创建一份结构化概览,展示 Kotlin 在哪些地方、以何种背景被教授,因为相关信息分散在网站、课程大纲、代码仓库、学习平台和其他来源中。该项目将这些碎片化信息汇集起来,并创建了一种结构化、自动化的数据收集方式。

在 GSoC 2026 期间,Mark 探索了不同的信息来源和信息收集方法,构建了一个数据库,并开发了一套从多个来源解析和结构化数据的流程。 “我学到的最重要的一点是,什么时候该停止在一个行不通的方向上硬推,转而改变方法。这个教训我会在每一个项目中铭记。” [LOADING...] Mark Seif Khalil

由此产生的项目为我们提供了一个可复用的基础,用于监测 Kotlin 在教育领域的覆盖情况,并识别趋势与缺口。 “Mark 最让我们两人印象深刻的是,他能够从一个最初带有探索性的想法出发,为这项研究带来自己的愿景,同时不断吸纳我们的反馈。Mark 把这些分散的信息变成了一个我们真正可以用来了解全球 Kotlin 教育的资源。” Ksenia Shneyveys、Elizaveta Artser

阅读 Mark 的完整故事 → Kotlin 教育版图观看 Mark 的 GSoC 回顾


有兴趣通过未来的 Google Summer of Code 为 Kotlin 做贡献——或者自己指导一个项目吗?

加入 Kotlin Slack 中的 #gsoc 频道,与社区见面、提出问题,并关注未来的 GSoC 公告。