相当长一段时间以来,我一直在兼职开发自定义数据库。由于兼顾复杂的副项目和全职工作很困难,因此我选择使用 Go 来让我的生活更轻松。 Go 让我在早期就获得了一些快速的胜利,而无需花费精力去学习新东西。
好吧,现在情况正在改变,因为我“最终”达到了 Go 并不是某些低级别任务的正确选择的地步。我知道我有时需要切换到另一种语言 – 因此经过一番考虑后我选择了 Zig。
Zig 让人呼吸新鲜空气。上一次我对一门语言如此兴奋和乐观是在 2013 年左右,当我发现 Go 时。在很多方面,Zig 感觉像是一个更底层的 Go,这正是我一直在寻找的东西。
不幸的是,这并不全是阳光和玫瑰。很容易看出该语言还不是很成熟。例如,某些文档的半衰期似乎很短。这对于博客文章等第三方材料尤其明显。如果您遇到问题,最有可能的解决方案是“隐藏”在 Reddit 上的某处或 Github 问题中。
但到目前为止,我主要的抱怨是文件组织。在 Go 中,目录中的所有内容最终都位于同一名称空间中。相比之下,Zig 感觉像是一种回归:每个文件都需要显式导入。这会鼓励创建非常大的源文件。更糟糕的是,Zig 中的测试与源代码一起存在,使得文件更难阅读。
但总的来说,这是我可以忍受的。无论如何,抱怨文件组织感觉很挑剔。我现在准备将我的解析器从 Go 移植到 Zig。如果一切顺利,申请的其余部分将很快完成。