title: Why do Puppet and Chef use Ruby?
body: <p>We all know that Puppet and Chef are the superstars of the IT automation area, and they are developed in Ruby (though Chef 11 server was rewritten in Erlang). </p>
  
  <p>In my working environment, a very large group of the operations team uses Python as the primary language to develop operation tools or basic system applications. </p>
  
  <p>I want to find why both Puppet and Chef were written in Ruby? What are the advantages? Ruby supports DSLs well. Can Python do such thing?</p>