谨慎的乐观的看 Modular 提出的 Mojo 语言

有了 faster-cpython 的前车之鉴,对 Mojo 谨慎的乐观。

宣称将成为 Python 的超集是 Mojo 相比 Codon 等项目最吸引人的一点。Codon类项目虽然宣称是Python的编译器,但实际上砍掉了 Python 所有的动态特性,几乎所有的 Python 库都无法正常使用。对我而言,如果用不了 Python 生态,那这和一个全新的语言又有什么区别。

如果 Mojo 真成为Python的超集,单就比 CPython 性能高出一大截的 Python 编译器就足够吸引人。但细看下来,“成为 Python 超集”可能只是一个美好的愿望,达成的可能性非常小。现在 Mojo 的完成度还非常低,除了支持 Python 风格的语法外,Python还差很远(连 Class 都不支持)。现在版本的 Mojo 支持导入 Python 模块,但导入的 Python 模块是以 Python 对象的方式运行。换句话说就是塞了个 CPython 解释器到 Mojo 里用来执行 Python 代码(是不是立马不高大上了)。

除去 Mojo 吹牛的部分(比如那个比 Python 快 3500 倍),对 Mojo 还是有所期待。Mojo 的创始人有着牛逼哄哄的履历(LLVM & Swift 的作者)。虽然不能完全兼容 Python ,但承诺后期会提供相关的迁移工具。如果 Mojo 的性能和开发体验确实不错,Python库的迁移成本不高,还是会有不少人会自发的将 Python 生态迁移到 Mojo 到。

注: