"As Code"

Mitchell Hashimoto

即代码

我个人一直把“X 即代码(as Code)”中的“即代码”后缀定义为“一套原则或规则的体系”1。这与流行的解读——“即代码”意为“即编程”——形成对照。

我觉得有必要写下这篇短文来澄清我的本意,因为由于我创办了 Terraform2

我对“X 即代码”3的本意始终是把知识从人们的头脑中提取出来,写入一个更具铭刻性的体系。一旦被铭刻下来,知识和流程就可以被共享、版本化、迭代等等。

它与编程的关联在于,被编码化的知识往往同时也是计算机可读的,并因此获得全部相关好处(例如自动化、校验等)。然而,我不认为这意味着现代编程的所有要求都应当套用到“即代码”体系上。

再补充一段历史:我在十多年前(早于 Terraform!)与人合著了《Tao of HashiCorp(HashiCorp 之道)》,这种思维方式至今仍体现在其中关于“编码化”的两节里,而且这两节自最初写就以来基本没有改动。这有助于进一步说明我对“即代码”的本意。

请不要把这篇文章理解为对“即编程”理念的批评,或宣称“即代码”是完美的,或认为“即代码”永远应当按这种方式来解读4。这些都不是事实。我只是想澄清我个人在历史上使用这个术语的本意。

脚注

  1. https://www.merriam-webster.com/dictionary/code

  2. 我已经多年没有参与 Terraform 的开发,并于 2023 年离开了 HashiCorp。而且我只声称是 Terraform 的创办者(并且并非独自完成);多年来它一直由其他人维护。

  3. “X 即代码”或“基础设施即代码”这些术语并不是我创造的。我不知道是谁创造的,但它早于 Terraform 和我的职业生涯。一条不请自来的商业建议:不要创造新的市场品类,而是进入已有的品类,让你的竞争对手承担教育市场的成本。

  4. 毕竟,事物的定义是一个社会过程。羊群走向哪里,我们所有人就会走向哪里。

原文由 Mitchell Hashimoto 发布

本文章由 stealth/ox-alpha 进行翻译