在一次数据库项目的开发过程中,首席工程师Mirek Rusin分享了他使用MoonBit语言的经历。他最开始用TypeScript和SQLite进行开发,接着尝试Rust和DuckDB,最终转向MoonBit,结果发现之前十多天的工作在MoonBit上仅用几个小时便完成。这段时间里,由于技术栈的不同,Mirek对项目的理解逐步加深,无法直接对比MoonBit和Rust的开发效率。
这个项目名为bitsql,是一个内存型SQL Server模拟器,适用于应用测试和持续集成,网站上提供了浏览器演示,通过将MoonBit代码编译为JavaScript,用户可以直接在网页中运行数据库执行器。尽管AI能够迅速生成代码,但编译、错误排查和重新运行测试依然需要时间。因此,不同的编程语言对AI开发效率的影响在多次修改与验证中显露无遗。
Rust语言面临的主要难点包括编译等待时间和磁盘占用。在官方调查中,被问及的开发者中,55%反映在构建项目时,修改代码后等待时间超过10秒。这种情况会导致AI智能体在每次改代码后必须等待编译和测试结果,影响整体效率。Rust的构建工具Cargo也存在输出过大的问题,多个智能体在不同工作目录中构建时,依赖库的重复占用会加剧磁盘压力。
为此,研究者进行了实验,让编程智能体分别用Rust和MoonBit从零开发一个SQLite兼容的数据库引擎。实验结果显示,MoonBit生成的最终源码token数量比Rust少约12%,且两者的隐藏测试通过率和开发成本接近。虽然MoonBit的公开代码资源少于Rust,但在质量和成本方面仍表现不俗。
这一现象也得到了相关研究的支持,显示尽管语言及其资源的差异,MoonBit仍能与Rust竞争并取得接近的结果。这暗示在未来的开发中,MoonBit可能会成为更受青睐的选择。
发表评论