Google Summer of Code 2026 收尾了。这是 Kotlin 基金会第四年参加 GSoC,两个项目走到完成,一个扎进 Kotlin/Wasm 后端,一个去摸全球 Kotlin 教育的家底。
![]()
先说第一个。贡献者 Ayako Hayasaka,导师是 JetBrains 的 Charlie Zhang,项目是给 Kotlin/Wasm 后端加上 WebAssembly 尾调用指令支持。编译器现在能识别尾位置的调用,发出 return_call 或 return_call_ref,让递归的 Kotlin/Wasm 程序不再一路把调用栈堆上去。
效果用数字说话:在递归深度 10,000 时,几种递归模式快了 1.7–4.3 倍。深度拉到 一百万,同一批程序在没有尾调用时直接崩,有了尾调用跑完了。
真正让导师意外的不是性能表。在真实项目上测试时,Ayako 撞上一个 V8 里没预料到的性能回退,一路追到 return_call 缺了个优化,提交修复,补丁被合进了 V8。
Charlie Zhang 的原话是:“最让我惊讶的是,Ayako 在实现新的 WebAssembly 指令并在 Kotlin 后端用起来之后,居然在 Google V8 引擎里找到了一个 bug。她不只是报了,还把它修了。”
Ayako 自己的感受更朴素:日常工作里很少能碰到语言内部,这次玩得很开心。查那个变慢的问题时,她不光要读编译器,还得读 V8,才发现自己平时写的代码之外还有一大片要学。项目结束后她还在继续做后续优化,以及尾调用之外支持递归代码的其他路子。
第二个项目换了个方向。贡献者 Mark Seif Khalil,导师是 JetBrains 的 Ksenia Shneyveys 和 Elizaveta Artser,目标是搞清楚 Kotlin 到底在哪儿教、以什么形式教——这些信息散在网站、课程大纲、代码仓库、学习平台里,谁也不掌握全貌。
Mark 做的事是把碎片拼起来:试了不同来源和采集方式,建了数据库,做出一套从多个来源解析、结构化数据的流程。产出是一个可复用的底座,用来持续观察 Kotlin 在教育里的存在感,找趋势也找缺口。
他学到的一课是判断力:“最大的收获是知道什么时候该停下死磕一个走不通的方向,换条路。这个教训我会带进以后每个项目。”
导师们的评价落在同一件事上:Mark 能把一个最初只是探索性的想法,做出自己的研究视角,同时不断吸收反馈,把散落的信息变成一份真能用来理解全球 Kotlin 教育的资源。
两个项目,一个往编译器深处钻,一个往教育地图上铺。Kotlin 基金会第四年的 GSoC 就落在这两件事上。想参与下一届,或者自己带项目,可以去 Kotlin Slack 的 #gsoc 频道。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.