【Rust日报】Fish Shell为何会用Rust重写

科技   2025-01-02 23:10   重庆  

Fish Shell为何会用Rust重写

这篇文章总结了 Fish Shell 项目决定将代码从 C++ 重写为 Rust 的原因和过程。主要原因包括:

  1. C++ 的工具链和跨平台支持存在一些痛点,给发布和贡献者带来困难。

  2. C++ 在并发和线程安全性方面缺乏足够的语言支持和人性化的设计。

  3. C++ 的人机工程学不佳,易出错且调试困难。

  4. C++ 社区活跃度不高,项目难以吸引新的贡献者。

经过两年的努力,Fish Shell 4.0 测试版终于发布,代码库完全由 Rust 重写而成。作者总结了这个过程中的经验教训,希望能为其他项目提供借鉴。尽管 Rust 的学习曲线较陡,但其现代化的语言设计在提高开发效率和代码健壮性方面有明显优势。

https://fishshell.com/blog/rustport/

bedrock-rs - 为Minecraft提供通用工具包

bedrock-rs旨在为Minecraft基岩版提供通用工具包。该项目包含以下几个主要部分:

  1. 标准实践:遵循最佳实践和约定。
  2. 公共实现:可重用的组件,满足各种Minecraft基岩版需求。
  3. 易用API:简化的接口,使开发更高效和愉快。

该库被分为多个crate(包),每个crate专注于特定功能,包括:共享数据类型、JSON表单格式实现、插件数据类型和序列化、基岩协议实现、等级管理数据结构和Minecraft基岩服务器基础架构等。

bedrock-rs具有模块化架构、多协议支持、跨平台兼容性、轻量级高效等特点。该项目欢迎各种形式的贡献,包括修复bug、添加新功能等。整个项目遵循Apache-2.0开源许可协议。

https://github.com/bedrock-crustaceans/bedrock-rs

Maurice - 一个用Rust编写的Thomson MO5模拟器

Maurice是一个用Rust编写的Thomson MO5模拟器。仓库包含了以下主要内容:

这是一个用Rust编程语言编写的法国80年代游戏机Thomson MO5的模拟器项目。作者的目标是学习Rust,并探索它在桌面应用程序领域的应用。该模拟器是基于现有的C语言和Java版本的MO5模拟器Marcel o Cinq移植而来,是免费开源的。尽管作者不是模拟器专家,但他欢迎大家对代码和实现提出建议。模拟器的源代码和针对Mac和Windows的已编译二进制文件都可在GitHub上获取,当然它也可以在Linux上运行。该项目展示了Rust在此类桌面应用开发中的能力。

https://github.com/kpouer/Maurice

Heynote - 笔记应用

Heynote提供了一个持久化的文本缓冲区,可以分块编写各种代码、JSON、Markdown等内容,并支持语法高亮和自动格式化。该应用程序可用于Mac、Windows和Linux系统,支持多光标编辑、计算器模式、货币转换等功能。文档提供了详细的功能介绍和开发说明。该项目基于CodeMirror、Vue、Electron等开源项目构建,欢迎贡献修复Bug。

https://github.com/heyman/heynote

Thoth - 终端笔记应用程序

Thoth是一个终端笔记应用程序。

  1. 灵感来源于Heynote笔记应用,但Thoth是专为终端用户设计的。

  2. Thoth将笔记持久化存储为markdown格式文件,可与Obsidian等笔记应用无缝集成。

  3. 支持分块编辑、标题选择、使用外部编辑器编辑等功能。

  4. 命名灵感来自古埃及智慧之神Thoth。

  5. 介绍了多种安装方式,如Homebrew、Cargo、发行版包管理器等。

  6. 详细列出了TUI和CLI两种使用模式下的快捷键和命令。

总的来说, Thoth为终端用户提供了一个简单实用的笔记工具。

https://github.com/jooaf/thoth

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章