プログラム言語っぽく書くべきか、自然言語っぽく書くべきか

rubyでは、makeというメソッドがあったときに

make(:breakfast)

と書くこともできるし、

make :breakfast

と書くこともできる。
好みの問題もあるけど、.eachとか.to_sを後ろにつなげたりして、()が必要不可欠なとき以外は、後者のように書くのがRubyなんじゃないかという気がする。どこかで見た「Rubyはソース自体がコメントである」といういささか極端な言葉の意味するところは、Ruby自然言語に近いソースを記述できる、つまりソース自体が何をやっているのかを文章として物語るように記述できる、ということだと思うから。
多分JavaとかC++とかをバリバリにやってきた人は、rubyをはじめたときは迷わず前者を選ぶんじゃないかという気がするけど、郷に入れば郷に従え、ということでそんな人でも後者のように書くべきだと思う。
俺も最初は()を付けて書いてて、()をつけないのは気持ちが悪かったけど、RailsActiveRecordに触れて完全に考えが変わったね。

class Company < ActiveRecord::Base
  has_many :employees
end

class Employee < ActiveRecord::Base
  belongs_to :company
end

最初はこれがクラスメソッドということすらわからず、なにこの魔法、って感じだった。よくわかんないけど、オブジェクトの関係を簡潔に、わかりやすく書くことができる。美しいコードってこういうことじゃない?
この記述で何が起こっているのかrubyに触れる中でわかってきて、他にもいろんなrubyの側面を知って、なぜDHHはrubyを選んだのか改めて実感したね。これはPHPにはできない。同じものを書くとしたら、PHPは美しさにおいてrubyには勝てないと思う。
うわさによるとpythonrubyと似ているらしいんだけど、どうなんだろうね。