Rust China Tour - 杭州站活动后记

活动合影一

筹划已久的 Rust China Tour 终于 4 月 13 日在杭州完成了首站活动,感谢 OpenBuild 许银 为活动付出了很多, 并且为这个系列活动起了一个 Fancy 的名字。 每个月一个城市堪比演唱会,叫 Tour 一点不为过, 只是这次活动还是有些匆忙, 没有设计出一些 Tour 的特色。 可能最让开发者满意的是现场 Rust 周边礼物自助不限量, 当然也还要感谢 JetBrains 给寄来的纪念品, 马克杯我自己都忘记拿一个。😂😂😂 活动的微信群名字也被设为 “Rust 中国巡演见面会” ,希望这个群以后能有更多的开发者在里面交流。

整个活动是由蚂蚁集团开源办公室的花肉主持。 五花肉可以说是江浙沪金牌主持, 但是面对下面 P11 的公司大佬有点嘴瓢, 这对于她进军珠三角来说还是一个小挑战 😂😂😂 。 敢于把在活动宣传图片上把自己的名字写在老板前面, 说明她已经具备冲击全国优秀主持人的心理素质了, 嘴瓢可能还是没有理解到这个活动随意性的边界。

蚂蚁集团副总裁兼首席技术安全官韦韬

在一个公司里面, 需要有对技术热衷的领导者才能推动公司内部技术体系的发展, 在蚂蚁集团我看到的是 韦韬 在不遗余力的推动内部使用 Rust 编程语言; 在华为也有类似的高管, 就是海思总裁、 华为科学家委员会主任 何廷波 , 在公司内大力推动 Rust 编程语言的使用, 也给了我一个能够从事 Rust 编程语言生态推广工作的机会。

Apache HoraeDBPMC Member 、蚂蚁集团技术专家刘家财

首位演讲的嘉宾是 Apache HoraeDB PMC Member 、蚂蚁集团技术专家 刘家财, 演讲的内容是 Rust 中的错误处理。其实 Rust 编程语言的错误机制一直都在被大家诟病, 尤其是大型工程中对于错误处理都显得臃肿和繁琐, 我的感受是其它语言也挺麻烦的, 到现在我也没有看到什么最佳实践是满足所有场景的, 所以 Rust 把方案的选择权交给开发者也是一种合情的处理方式, 是不是合理我也没有资格评价。

另外刘家财是中文播客 RustTalk 的主理人,这应该是国内第一个专注 Rust 编程语言的播客,欢迎大家订阅收听。 这两天他也有联系我说一起录制一期播客, 我计划从荷兰参加 RustNL 回来后录一期, 可以顺便讲讲我观察到的上游 Rust 社区情况。

华为高级工程师李原

第二个演讲人是我的同事 Rust Complier Team 的 Committer 李原,他演讲的内容是 Rust 并行编译问题。随着越来越多的项目使用 Rust ,编译速度问题越来越被重视, 但是由于对于编译器知识的缺乏以及对 Rust 编译器的理解我是完全没有听懂他说什么,所以早早到会场外偷吃茶歇以及和参会人聊天, 讨论的结果是大家都说这个讲的内容太干,没有怎么听懂。不是我一个人听不懂,挺好的 😂😂😂 。

从我最近在国内的高校里面推广 Rust 编程语言的情况来看, 很少有高校的实验室在做编译器相关的基础研究, 现在更多的是做 AI 相关的,我其实很理解搞 AI 既可以拿项目挣钱也可以发论文评职称。 只是国内高等教育缺乏基础软件的教育不是一年两年的事情了, 太少具有相关基础的人从事这方面的研究, 当然也和前些年互联网公司薪资水涨穿高有很大的关系, 供需市场决定了高校的教育方向。 对于这种境遇我人单势孤, 也无力改变这个既定的状况, 只能在自己的角度能做一点有意义的事情就好。

浙江大学研究生侯富中和蔡启航

浙江大学的两位研究生侯富中和蔡启航两位同学是跟我在一起开发 Mega 项目, 两位同学分享了使用 Rust 重写 Git 服务端遇到的各种问题以及学习 Rust 的经历。 浙江大学的胡星老师在学校内开始了 Rust 相关的课程, 这两位同学在之前课堂大作业使用 Rust 开发了一个简单的 Git 客户端,课堂答辩的内容录制下来放到了 B 站被我发现, 就找到胡星老师邀请他们来开发 Mega

在校学生学习和使用 Rust 的曲线对比有经验的工程师有明显的差异, 并没有传说中的学习曲线高的问题。 其实这是我一直在思考的一个关键问题, 就是用一个什么样的角度去理解 Rust 才能让学习的人更容易掌握这门编程语言。 当然我现在的方案是让 AI 教我写代码, 让编译器教我做人, 方案简单粗暴但是有效。 从推广 Rust 编程语言的工作角度,这个方案明显是不行,但是我也没有好的解决办法、

Fabarta 技术专家胡焰

Fabarta 的技术专家胡焰分享了使用 Rust 开发图数据库 ArchGraph 的经历, ArchGraph 还没有开源, 他提到使用 Rust 开发的时候国内还没有开源的图数据库, 当然现在已经有了好几个, 我最近在看的是蚂蚁开源的 TuGraph ,它的存储底层是 Rust 编写的。 纯 Rust 编程语言的图数据库好像还没有,希望 ArcGraph 早日开源一睹真容。

演讲中提到 bincode 和 serde 在处理 RPC 的时候都有一些问题,我想说可以试试字节开发的 Volo 看是不是符合需求, 只有让这些相关的开源项目相互之间有了交流和依赖, 才能盘活整个国内的生态。后面的活动中,我想应该邀请更多用 Rust 开发实际项目的开发者来分享他们的经验, 这样对于学习 Rust 的人来说是一个很好的参考, 也能够提升大家对 Rust 的信心。 当然要想国内以更快速度发展生态,需要一个 Rust 编程语言的明星项目, 这是可遇而不可求的事情, 但我相信这一天会到来的。

南京大学计算机科学与技术系助理研究员冯洋

最后是南京大学计算机科学与技术系助理研究员冯洋老师带来的 Rust 生态分析的技术研究。 正如冯洋老师所讲, Rust 社区专注在语言特性的实现, 非常缺乏传统测试技术的支持。 我也正在和冯洋老师合作,在 Compass 项目的支持下,尝试构建一个 Rust 项目分析平台,计划在开放原子开源基金会的基础设施上部署为开发者提供服务。

冯洋老师代表了国内高校研究者中年轻的一代, 在海外有过留学经历, 有很好技术前瞻性和钻研的精神,希望他们能够改变国内高校科学研究落后的学阀体系, 激励更多的在校生能够参与到开源项目中,在技术领域中有所作为。

活动合影二

演讲 Slide

  1. Rust 中的错误处理
  2. Rust 编译效率 - 现状与未来
  3. 透过 Git 看 Rust - Trade-off
  4. Rust 在 ArcGraph 中的实践
  5. 面向 Rust 生态系统的供应分析与测试平台

对于活动本身来讲, 更大的意义是蚂蚁和华为能够平等的在社区活动中合作, 这在国内头部厂商中应该是首次。 国内的开源也好, 开发者生态都好, 都是以厂商为首的生态隔绝的小圈子, 当然也有在一些基金会下有一些貌合神离的合作, 这样真心的坐下来共同为 Rust 编程语言发展一起努力我相信是首次, 希望能在国内建立起一个榜样, 让大家看到合作的力量。