“即代码”
原文由 Mitchell Hashimoto 于 发布,订阅该博客
我个人始终将“X as Code”中的后缀“as code”理解为“一套原则或规则的体系”1。这与将“as code”通俗地理解为“即编程”的主流解读形成了对比。
我觉得有必要写下这篇短文来澄清我的本意,因为作为 Terraform2 的发起者——而 Terraform 又是一款标志性的“X as Code”工具——我常常会成为这种误解所指向的对象。
我提出“X as Code”3的初衷,始终是将知识从人们的头脑中解放出来,固化到一个更成文的体系之中。一旦被固化,知识与流程便可以被共享、被版本化、被反复迭代,等等。
它与编程的关联在于,经编码化的知识往往也是机器可读的,并因此具备机器可读带来的全部好处(例如自动化、校验等)。然而,我并不认为这就意味着应该将现代编程的所有要求都套用到“as code”系统上。
再补充一点历史背景,十多年前(在 Terraform 之前!)我曾参与合著了 Tao of HashiCorp,而文中关于“编码化(codification)”的两节至今仍保留着这种思维,且自初稿以来几乎未曾改动。这也有助于为我对“as code”的初衷提供更多背景。
请不要将本文误解为对“即编程”理念的批判,或是认为“as code”已臻完美、理应永远作此解读4。这些都不是我的意思。我只是想澄清我个人在历史上对这一术语的初衷和用法。
脚注
随机一篇博客
评论
登录后参与讨论