Fish Shell计划采用Rust重写

出品 | OSC开源社区(ID:oschina2013)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 中。开发者可以按照常见的方式进行构建:
  1. 安装 Rust 1.67 或更高版本

  2. 像往常一样 cmake,可以通过 corrosion 来运行

关于使用 Rust 重写 Fish Shell 的详细描述,访问此文档:https://github.com/ridiculousfish/fish-shell/blob/riir/doc_internal/fish-riir-plan.md


往期推荐



12款开源的低代码开发平台,建议收藏

黑客报价100万美元拍卖《英雄联盟》游戏源代码

大厂裁员轰轰烈烈,哪个技术岗位可以独善其身?

  全球开源技术峰会GOTC 2023将于4月在上海举办


这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦

相关推荐

  • OpenAI、ChatGPT、AI绘画
  • 作为数据科学家,我并没有选择 Python,而是从 R 到了 Julia!
  • 离大谱!开源要成“非法”的了?
  • 初识 Turbopack
  • 最近有不少朋友离职了
  • 超越云的可持续计算
  • 被炒上天了的AI,嗨得太离谱!
  • 乔布斯离开后的苹果 | 历史上的今天
  • “我把 ChatGPT 和苹果的 Siri 组了个队,发现无敌了!”
  • 美团面试:MySQL 自增主键一定是连续的吗?
  • “被朱茵捉奸,劈腿莫文蔚,与挚爱相恋欠债七千万”:如今60岁的他,怎么活成这样?
  • 看了《狂飙》大结局后,才发现我们对广东一无所知...
  • 常用统计检验Python代码!
  • 用Gzip数据压缩方式优化redis大对象缓存
  • 百度出手,国产版 ChatGPT 要来了
  • 数据库隔离级别及MVCC
  • 和毕玄见面,聊聊 FinOps 从概念到落地 | QCon 北京倒计时 3 天
  • 如何解决Prometheus的存储容量问题?
  • 指导了上百万程序员,《代码大全》之父和你聊聊软件开发素养|独家探访“编程圣经”背后故事
  • 今日公开课|如何应对金三银四面试官分布式锁问题