Skip to content
📖 Auto 版 A Byte of Python本书目录

关于 Auto ​

Auto 是为数不多的既能称得上_简单_又能称得上_强大_的编程语言之一。你会惊喜地发现,专注于解决问题本身,而不是纠结于语言的语法和结构,是如此轻松。

Auto 的官方介绍是:

Auto 是一门易学且强大的编程语言。它拥有极简、规则的语法和清晰的面向对象编程方式。Auto 的转译特性和静态类型系统,加上其能够面向多个后端的能力,使其成为在众多领域编写可移植、高性能应用程序的理想语言。

我将在下一节中更详细地讨论这些特性。

名字的故事 ​

Auto 是一门为 AI 时代设计的编程语言。它的名字反映了让编程变得_自动化_的目标——如此直观,代码几乎自己就能写出来。Auto 使用 Rust 构建,将系统语言的安全性和性能与现代开发者所期望的简洁性和易用性完美结合。

创建这门语言的初衷是弥合人类意图与机器执行之间的鸿沟。在 AI 助手帮助我们编写代码的时代,Auto 极简的语法和可预测的语义使其成为人机协作的自然选择。

Auto 的特性 ​

简单 ​

Auto 是一门简单且极简的语言。阅读一段好的 Auto 代码,感觉就像在读英语——虽然是非常严格的英语!Auto 的这种伪代码特性是它最大的优势之一。它让你能够专注于解决问题,而不是语言本身。

易学 ​

正如你将看到的,Auto 非常容易上手。前面已经提到,Auto 拥有极其简单的语法。语言的表面规则很少,这意味着你花在记忆规则上的时间更少,而花在解决问题上的时间更多。

自由且开源 ​

Auto 是一个_FLOSS_(自由/开源软件)的典范。简单来说,你可以自由地分发这个软件的副本、阅读它的源代码、对其进行修改,以及在新程序中使用它的部分代码。FLOSS 基于一个分享知识的社区理念。这也是 Auto 如此出色的原因之一——它由一个只想让 Auto 变得更好的社区创建并持续改进。

高级语言 ​

当你用 Auto 编写程序时,你永远不需要操心底层细节,比如管理程序所使用的内存。Auto 的 AutoFree 系统隐式地处理内存管理,让你从手动分配和释放中解放出来。

可移植 ​

Auto 最大的优势之一是它在编程环境之间的可移植性。Auto 代码可以通过 a2p、a2r、a2ts 和 a2c 等转译器转译为多种目标语言——Python、Rust、TypeScript 和 C。这意味着你的 Auto 程序可以在这些目标语言运行的任何地方运行,而无需对你的 Auto 源代码做任何修改。

你可以在 GNU/Linux、Windows、macOS 等平台上使用 Auto——只要目标语言的运行时或编译器可用即可。

转译型语言 ​

这需要一些解释。

与传统的编译型或解释型语言不同,Auto 采用_转译_方式。当你编写一个 Auto 程序时,autoc 编译器会将其转译为你选择的目标语言。例如,使用 a2p 转译器,你的 Auto 代码会被转换为地道的 Python 代码,然后由 Python 运行时执行。

这种方式让你两全其美:你用 Auto 干净、极简的语法编写代码,却能获得目标语言的性能和生态系统优势。无需担心链接库或管理二进制兼容性——目标语言的工具链会处理这一切。

面向对象 ​

Auto 既支持面向过程编程,也支持面向对象编程(OOP)。在_面向过程_的语言中,程序围绕过程或函数构建,它们不过是可复用的程序片段。在_面向对象_的语言中,程序围绕对象构建,对象将数据和功能组合在一起。Auto 通过 type 关键字提供 OOP 能力,提供了一种强大而简单的方式来定义带有字段和方法的类型。

可扩展 ​

如果你需要一段关键代码运行得非常快,或者想利用目标语言中现有的库,Auto 可以轻松地与原生代码互操作。由于 Auto 转译为知名语言,你可以直接调用这些生态系统中可用的任何库。

可嵌入 ​

你可以在其他项目和应用程序中嵌入 Auto 代码。Auto 模块可以作为大型代码库的一部分使用,让你的程序用户能够通过 Auto 脚本扩展功能。

丰富的库 ​

因为 Auto 可以转译为 Python、Rust、TypeScript 和 C,你可以访问庞大的库生态系统:

  • Python 的 PyPI — 数十万个包,涵盖 Web 开发、数据科学、机器学习等
  • Rust 的 crates.io — 高质量的 crate,用于系统编程、Web 服务器和 CLI 工具
  • npm — JavaScript/TypeScript 包生态系统
  • C 库 — 数十年久经考验的系统库

这就是 Auto 的_无限电池附赠_理念——你永远不会受限于标准库中有什么。只要某个库存在于任何目标语言中,你就可以在 Auto 中使用它。

小结 ​

Auto 确实是一门令人兴奋且强大的语言。它将简洁性、可移植性和生态系统访问能力完美结合,使得用 Auto 编写程序既有趣又轻松。无论你是编写第一个程序的初学者,还是构建复杂系统的经验丰富的开发者,Auto 都能为你提供价值。

基于 MIT 许可发布。