< 返回版块

Mike Tang 发表于 2024-12-31 22:31

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

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页