立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 170|回复: 0

[分享] Fish Shell 计划采用 Rust 重写

[复制链接]
发表于 2025-5-28 09:18 | 显示全部楼层 |阅读模式

登陆有奖并可浏览互动!

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录 手机动态码快速登录

×
出品|开源中国
fish 是适用于 Linux、macOS 的命令行 Shell,其名字取于 "the friendly interactive shell" 的简称,最大特点就是方便易用、功能强大、智能并且用户友好。很多其他 Shell 需要配置才有的功能,fish 默认提供,不需要任何配置。



fish 作者近日提交 PR 称要用 Rust 重写 Fish Shell 项目。



他认为应该将 Fish Shell 的开发语言从 C++ 过渡到 Rust,目标是在下一个主要版本发布之前完成它,重写原因包括:

  • 没有人真正喜欢 C++ 或 CMake,也没有摆脱旧工具链的明确途径。每年的 “开发痛苦” 都会加重。
  • C++ 正在成为一种 “遗留语言”,未来寻找贡献者将变得困难,而 Rust 拥有一个活跃且不断发展的社区。
  • Rust 是实现并发函数执行所需要的语言。
  • 用 Rust 编写将有助于 fish 继续被认为是现代和有价值的。
因此,fish 作者表示这应该称作 “移植” 而不是 “重写”,因为他们不会从头开始;相反,他们会在一个版本的跨度内,逐步地将逐个模块从 C++ 转换为 Rust。他们将使用 FFI,以便 Rust 和 C++ 位可以相互通信,直到 C++ 消失,并且测试和 CI 在每次提交时会继续保持通过。
为了证明 “Rust 重写计划” 可以执行,在这个 PR 中,作者将 FLOG、主题监视器、wgetopt、builtin_wait 和其他一些功能移植到了 Rust。Rust 位存在于 C++ 内部并与之链接的 crate 中。开发者可以按照常见的方式进行构建:

  • 安装 Rust 1.67 或更高版本
  • 像往常一样 cmake,可以通过 corrosion 来运行

原文地址:https://zhuanlan.zhihu.com/p/602540520
楼主热帖
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表