Mach —— 一个寻找贡献者的编译型系统编程语言

嗨,HN,我是 Mach 的创作者(链接至 github.com/octalide/mach 或 machlang.org)。 两天前,我们终于实现了完全自主的托管环境。 我特意在这里发帖,向大家展示这门语言——因为这对我们来说是一个重要的里程碑。

对于那些好奇的人,这里简单介绍一下这门语言的核心要点:

• 在整个开发流程中,没有任何外部依赖。这包括 LLVM、libc 绑定,以及类似的东西(仅历史上的引导编译器除外——它需要任何 C 编译器,并且早已被彻底淘汰)。 • Mach 有着极强的主观性,而且对“魔法”持高度警惕。WYSIWYG 是这门语言的核心原则之一。这里没有隐藏的行为、隐式的类型转换,也没有“自动功能”。简洁与去除歧义,正是这门语言所秉持的核心理念。 • 截至撰写本文时,Mach 的性能相比 C 仍落后约 4 倍,而这几乎完全归因于缺乏深度的编译器优化,比如自向量化等技术——这些优化目前尚未完全实现。不过,随着时间的推移,Mach 的性能终将至少与 C 相当。 为什么我要打造这门语言?

我热爱像 C、Zig、Go,以及偶尔的 Rust 这样的低级系统语言,但我更希望找到一种能够积极抑制“聪明才智”,转而追求长期可维护性和整体清晰度的语言。Mach 有着极强的主观性,而且在很多方面都明确要求使用冗长的语法,这种风格甚至让其他语言望而却步。计算机并非神奇之物,你编写的代码也不该假装它们是神奇的。 最初,这个项目只是我自己的学习机会,但随着时间的推移,它逐渐发展成了一门功能完备的语言。当然,我还有许多东西要学习,而随着这个项目不断向前发展,我对此充满期待,也十分乐意继续深入探索和学习。 为什么我(作为读者)会关心它?

如果你喜欢 C,那么你很可能会喜欢 Mach。Mach 在编写 C 时深受其“氛围”的启发,但在语法上做了诸多改进,去除了不少“陷阱”,“揭示”了许多内部机制,并且拥有一个远优于传统方式的依赖管理方案。 如果你想尝试一门完全有能力取代 C 的语言,尤其是如果你希望为它的开发贡献一份力量,那么请务必来这儿,尽情玩一玩吧。 我打算把这门语言当作一个学习资源,但它最终也会成为一门真正实用且强大的语言,无论是否有用户群,我都希望它能以某种形式持续存在下去。 虽然这段文字可能有些“散漫”,但我还是要说:能参与这个项目的开发,真的让我感到无比欣喜。我非常欢迎各位的任何意见和贡献——尤其是那些不喜欢这门语言,或者发现了亟待解决的问题的朋友们。 欢迎大家提出自己的看法!

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论