Rust将迎来爆发式增长;更多国产编程语言进入视野 | 编程语言领域解读

近日,OSCHINA 和 Gitee 联合发布了《2022 中国开源开发者报告》

其中 “前沿开源技术领域解读” 部分,多位在其领域有所建树的一线开发者和开源商业化公司创始人,对目前国内外流行的前沿开源技术领域过去的发展和未来的趋势进行了深入的洞察,覆盖开源云原生、开源 AI、开源大前端、开源大数据、开源 DevOps、RISC-V、开源操作系统、开源数据库、编程语言九大领域。

本篇为编程语言领域的解读。

在 2021 年证明了自己的稳定性、性能和生产力之后,Rust 正在朝着易用的方向发展。相信随着学习成本、使用成本的进一步降低,Rust 将迎来爆发式增长。值得一提的是,国产编程语言也迈出了一大步,凹语言、Deeplang、KCL 等语言已经紧跟业界发展趋势,对新兴的 WASM 平台有着高优先级的支持。未来几年内,必然会有更多的国产编程语言进入我们的视野。



更多国产编程语言进入视野


何同学是知名的科技视频制作者,在 2022 年 8 月发布了一个爆款视频《我做了一个自己打字的键盘》。视频中有一个环节涉及 C 语言的代码,广大读者发现了其中一个 BUG。这在知乎引起了该 BUG 的大讨论,其中一个相关问题就有 180 个回答。许多网友在研究何同学 C 程序的同时也极大地提升了自己的编程能力,更有人以此为契机发明了何语言——次世代赛博编程语言。何语言在 GitHub 发布不到一周就斩获 1800 个 Star 关注,其相关视频 B 站有 7 万多的播放次数。何语言最初是用 Python 实现,发布后吸引了各路爱好者加入二次创作,出现了 Kotlin、C#、Rust、TypeScript、Go、汇编语言、Swift、OCaml 等多种其他语言的实现。编程语言是所有软件的基础,正是因为 C 语言才造就了 UNIX 的辉煌,从而奠定了现代软件行业的走向。但是目前主流编程语言均是由西方发明,这使得主流的编程语言缺乏中国的声音,对中文的支持甚是匮乏。比如早期的 C/C++ 语言只支持单字节的 ASCII 码,导致后来中文在面对 GBK 和 UTF8 时出现乱码问题。再比如 Go 语言以英文大写字母开头表示导出特性,完全忽视了中文开发者的诉求——因为缺乏话语权导致这个很小的问题多年被忽视至今没有解决。作为从业人员,我们期望一个国产编程语言,我们更期望国产编程语言能够平等对待中文编程的问题。其实 2022 年新出现的不仅仅有何语言。深度开源社区于 9 月开源其面向 GUI 的 Ulilang 语言,在一周内斩获 400  Star;飞漫软件公司于 8 月发布 HVML 声明式可编程标记语言,一周内斩获 500 Star;国内 Gopher 个人发起的面向 WASM 平台的凹语言于 7 月开源,一周内斩获 150 Star;蚂蚁集团于 5 月开源了其面向云原生领域的 KCL 配置策略语言。通过何语言这个事件,可以发现国内程序员对自制编程语言是有着极大热情的。经过几十年的积累,国内公司和程序员也是有自研编程语言能力的。今年作者发起过一个国产编程语言列表的项目,收集到超过 20 个国产语言。其中静态类型的编译型通用编程语言有:凹语言、Deeplang、Fanx、Go+、凸语言等。凹语言、Deeplang、KCL 等语言已经紧跟业界发展趋势,对新兴的 WASM 平台有着高优先级的支持。甚至还有来自高中学生创建的洛书中文编程语言。其中 Go+ 的作者许式伟更是表示,准备在七牛的生产环境引入 Go+ 语言。由此可以断言未来 3-5 年内,必然会有更多的国产编程语言进入我们的视野。值得警惕的是,国产编程语言进入主流的时间窗口最多十年,ChatGPT 出来之后,留给国产编程语言的时间不多了。

柴树杉

凹语言作者,Go 语言和 WebAssembly 技术专家,Go 官方代码贡献者,有 《 WebAssembly 标准入门》《 Go 语言高级编程》《 Go 语言定制指南》等多本专著,同时也是《 Go 语言圣经》的翻译者。目前在蚂蚁集团负责 KusionStack 项目的开源工作。



Rust 将进入爆发性的增长期


Rust 一方面连续 7 年成为最受喜爱的编程语言,另一方面又以学习曲线陡峭而闻名,Rust 官方显然也关注到了这种情况,因此在 2015 年、2018 年、2021 年分别制定了三年规划。这三个三年规划完成后,Rust 的稳定性、性能和生产力已经得到了验证,第四个三年规划就将易用性和项目落地作为了重点。在 2024 RoadMap 中,重点就是要解决 Async Rust 的学习曲线、使用难度和相关生态的问题,其中就涵盖了一些 Rust 社区最为瞩目的特性,可以帮助用户简化代码的编写以及降低使用成本,比如 Generic Associated Type(GAT)和 Type Alias Impl Trait(TAIT),以及这两个特性稳定之后所要支持的终极目标:Async Fn In Trait(支持在 Trait 中定义异步函数,GAT 和 TAIT 为这个特性的基础支持)。而在半年后的 11 月 3 日,Rust 官方团队也不负众望,正式发布了 Rust 1.65,稳定了 GAT 这个重量级特性;TAIT 特性的稳定也成为了高优,提上了日程。在 11 月 17 日,Rust 官方团队宣布 Async Fn In Trait 已经在 nightly 版本中达到 MVP,并且有望在未来半年内稳定进入正式版。当然,除此之外,Rust 官方团队还在计划更多的特性,比如 Async Drop、允许一个函数同时支持 sync 和 async 两个版本以简化代码编写等等。与此同时,在社区中也涌现出采用了新特性的 Rust 项目,比如 CloudWeGo 社区开源了业界首个使用 GAT 和 TAIT 特性的 RPC 框架——Volo,以及使用了 io_uring 的超高性能异步 Runtime——Monoio;Sentinel 社区也正式发布了 sentinel-rust,为 Rust 社区提供了完备的服务治理基础能力;Linux 正式支持 Rust 作为其唯二开发语言之一(另一个是 C 语言)等等。在社区蓬勃发展的时候,众多知名企业也在大力投入 Rust,如国内的字节跳动、华为等公司均在内部培养了 Rust 团队并推动 Rust 的落地,PingCAP 采用了 Rust 实现 TiKV,以及众多明星初创企业如达坦科技和海致星图直接选择 Rust 作为其产品的主力语言;国外的企业如微软、谷歌成为了 Rust 基金会白金赞助商之一,AWS 更是直接将 Rust 官方团队的成员招入麾下开启了抢人大战,Meta(原 Facebook)正式宣布 Rust 作为其服务端支持的语言等等。可以看出,Rust 在 2021 年证明了自己的稳定性、性能和生产力之后,获得了众多社区和企业的青睐。相信在 Rust 官方团队、社区、企业的共同努力下,Rust 语言将会进入良性循环,进入爆发性的增长期。我们可以期待一下 Rust 在各个领域中的大规模应用和落地,持续为用户创造更大的价值,实现 Rust 语言的愿景:Empower everyone to build reliable and efficient software。

吴迪

字节跳动基础架构部服务框架研发工程师,CloudWeGo-Volo 项目负责人, CloudWeGo-Kitex 核心开发者之一。长期专注于 Rust、Go 等编程语言及开源社区,对于 Rust、Go 语言及开源社区动态有深入的理解,热爱技术分享和布道。


更多内容请查看《2022 中国开源开发者报告》https://gitee.com/report/china-open-source-2022/


查看《2022 中国开源开发者报告》

相关推荐

  • Greylock:离OpenAI、DeepMind最近的VC,AI幕后玩家走向台前
  • 奇舞周刊第482期:每天都在用,也没整明白的 React Hook
  • 万字长文解释 ChatGPT 在做什么,以及为什么它能发挥作用?
  • 入狱 10 月、网暴不断,并挣扎在温饱线!超 90 亿次下载的开源项目,背后是这样的 9 年
  • 老牌数仓企业 Teradata 正式退出中国
  • 手把手教你在云上构建云原生应用!| Q推荐
  • 参会者调研结果出炉:微服务、集群调度、研发效能最受关注|QCon北京站闭幕
  • 从用云焦虑到“深度云化”,新云原生时代带给我们哪些思考?| Q推荐
  • 谷歌面临企业文化危机?出走创业者痛批谷歌效率低下、管理不善,员工深陷制度“迷宫”
  • 英伟达创始人出生 | 历史上的今天
  • 为什么要避免使用 libc
  • 国产 ChatGPT 争夺战打响!科大讯飞有信心百天内实现应用落地
  • 在 Python 中应用 protobuf
  • 四年经验社招Java后端面试心得!
  • 50岁爆改废弃老房,她用画笔填满40间房,打造独一无二的花园城堡
  • 海澜之家一折起清仓,全场29元起,随时关闭,速抢。
  • 赵本山女儿官宣结婚,全网都在恶心?
  • 今日公开课|面试突击:mysql,redis
  • 又一程序员因为背调面试凉了!
  • 微软的聊天机器人不仅有情绪,还经常胡说八道​​!