Rubyと日本語を比べてみる

Rubyと日本語は同じ「言語」と呼ばれるもので、多くのRubyist達が使いこなすものでもあります。
Ruby is a language.
Japansese is a language.
is-a関係が成り立っていますので、それぞれ「言語」のサブクラスと言えます。では「言語」クラスが持っている共通の振る舞いとはどういったものでしょうか。
それを探るために、日本語が使われる場面をRubyに当てはめるというアプローチを用いてみます。

おはようございます

Rubyにおける、日本語の「おはようございます」に相当するものはなんなのでしょうか。
言語というのは、一部の人を除いて、あくまで手段であって目的ではないはずです。
ではどういうときに「おはようございます」は使われるのでしょうか。
まず最低条件として、相手が必要です。それは大抵生きている人間で、1人以上です。しかし、ペットや植物に、あるいは人形や絵に言う人もいるかもしれません。それぞれによって目的は異なるでしょうから、ここではコンテキストを限定して考えたいと思います。それは「Aさんが出社したとき、すでに職場にいる同僚Bに対して言う『おはようございます』」です。
ここでなぜAさんはBさんに「おはようございます」と言ったのでしょうか。試しに言わなかったことを想像してみると、なんとなく気まずくなりそうですね。BさんはAさんに対してなんらかの不信感を抱くでしょう。逆に「おはようございます」と言うことで、お互い「いつも通りに」仕事が始められるのではないでしょうか。
私の知る限り、「おはようございます」という言葉にはこれ以上の意味や目的はありません。つまり、それは単なる習慣か暗黙の決まりでしかなく、もはや「おはようございます」という言葉には何の意味もありません。だからといって、どんな言葉に置き換えてもいいというわけではありません。出社していきなりBさんに向かって「おはようございます」の代わりに「愛してるよ」と言っただけで、その後の2人の関係は随分と違ったものになりそうです。言葉自体は意味がなくとも、それらは相手やTPOを激しく選びます。
また、「おはようございます」は濫用してはいけません。10分置きとかにBさんに向かって「おはようございます」を言う必要はありません。頭おかしいと思われます。普通1日一人に対して1回です。また、同じ1回でも、Bさんに会ってから5時間後、昼飯の時間に思いだしたように「おはようございます!」と言うのもあきらかにおかしいです。
こうしてみると、「おはようございます」という言葉がなんらかの機能や意味を持っているわけではなく、それを適切な時間、相手に1回だけ言うことが必要とされているということのようです。
さて、Rubyにこれに相当する概念があるのでしょうか。
Aさんがある朝会社に行ってBさんに「おはようございます」と言う、という場面をRubyのコードで表現するためには、まずAさんとBさんと会社と朝を定義しなければいけません。私の知る限り、これらの概念はRubyには無いからです。間違っても次のコードは正解ではありません。

A = Object.new
B = Object.new
def B.name; "B" end
def A.say(word, to) puts "#{word}#{to.name}さん"; end
A.say "おはようございます", B

これには会社の概念も朝の概念も、1日に1回言えばいいという制約も、別に2回ぐらい言っても対した問題ではないという概念も、言わないと気まずいという概念も表現されていません。ましてや「愛してる」と言ったときにBがdnbkするようにもできていません。
「おはようございます」一つとっても、同じことをRubyで表現する、あるいは相当する概念を見つけるのは難しいと感じます。ある意味ではclass定義がそれに近いかもしれませんが、class定義はそれ自体に意味があり、無くてはならないものなので、やはり違います。
挨拶を除いた、仕事上のコミュニケーションだけに限って言えばだいぶRubyと日本語に共通点を見出すことができるのかもしれませんが、それはまた後の機会で。

そもそもこんなアホエントリーを書いてしまったのは、「Rubyを日本語を話すかのごとく使いこなせるようになりたいなー」とふと思ったのが発端でした。おわり。