読者です 読者をやめる 読者になる 読者になる

プログラマー幸福論

プログラム関係の雑記やcodicの開発日誌

Perl でおなじみの bless の意味について調べてみた

ネーミング
f:id:namba0219:20130220152856j:plain

Photo by Alexandre Dulaunoy

Perl では、クラスを生成する際に、bless という関数を使って連想配列の参照とパッケージを関連付けします。その変な仕様はともかく、ちょっと気になったので、この bless という単語の意味について調べてみました。

f:id:namba0219:20130220154800p:plain
まず、英語辞書で調べてみると「〈神が〉人に~を授ける」とか「祝福する」とか出てきて、意味不明です。宗教関係かな ... 苦手だぁ。

で、bless の語源を調べていたら、灯台下暗し Perldoc の 用語集 に解説がありました。以下引用と意訳です。

In corporate life, to grant official approval to a thing, as in, "The VP of Engineering has blessed our WebCruncher project." Similarly in Perl, to grant official approval to a referent so that it can function as an object, such as a WebCruncher object. See bless.

-意訳 - 会社では、何かを正式に承認すること。例えば「技術サブマネージャーが私たちの "WebCruncher" プロジェクトを承認した」みたいに。同様にPerlでも、参照(連想配列の参照)がオブジェクトとして機能するように、正式に承認するみたいな意味。例えば、"WebCruncher" プロジェクトオブジェクトみたいにね。

 

うんなんとなく納得。bless には、承認するみたいな使われ方があるみたいですね。計画や実体化(つまり object)するという点で、比喩的に使われているみたいです。昔の人は、面白いネーミングをしますね。こういったものの語源を調べてみるのも面白いですよ。