为什么Puppet和Chef使用Ruby?

7
我们都知道 Puppet 和 Chef 是 IT 自动化领域的超级明星,并且它们是用 Ruby 开发的(虽然 Chef 11 服务器是用 Erlang 重写的)。
在我的工作环境中,一个非常大的运维团队使用 Python 作为主要语言来开发操作工具或基础系统应用程序。
我想知道为什么 Puppet 和 Chef 都是用 Ruby 编写的?有哪些优点?Ruby 很好地支持 DSL。Python 能做到这一点吗?

1
你应该查看 http://saltstack.com - cpuguy83
1个回答

20

来自 Puppet 作者 Luke Kanies:

我原本是一名系统管理员,并主要使用 Perl 进行开发,但是当我尝试编写我心目中的原型时,在 Perl 中无法获得我想要的类关系。因为当时正值 2003 年左右,而 Python 是一个新兴的语言,人们普遍认为它很棒,所以我尝试了 Python,但我似乎根本无法用 Python 写作。有个朋友说 Ruby 很酷,于是我试了试,仅仅花了四小时的时间,我就从没有见过任何 Ruby 代码到拥有了一个工作原型。从那时起,我就没有回头看过去,也没有后悔当初的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接