GNU, PHP, RPM は何の略? 再帰定義の密かなブーム

2003-5-29 23:11
このエントリーをはてなブックマークに追加

オープンソース・ソフトウェアライセンスの一つに、GNU というものがあります。GNUGNU is Not Unix” の頭文字をとったものだそうです。「GNU は UNIX ではない」という意味ですが、なんか変ですよね。GNU の定義の中に、GNU という単語が再び出てくるのですから。「ではその GNU は何?」と突っ込みたくなります。

このような定義の仕方を、再帰定義 と言います。もともと再帰定義とは、プログラミングの手法の一つです。ある関数内で、自分自身を呼び出すことを「再帰呼び出し(recursive definition)」といい、そのような関数定義のことを「再帰定義(recursive call)」といいます。

これが言葉の定義にも応用され、機知に富んでいるためか、ソフトウェア業界ではよく使われています。

リチャード・M・ストールマンのスウェーデン王立工科大学での講演録によれば、

再帰的な略称は、MIT 周辺のハッカー社会ではすごく古い伝統になってる。ぼくの知る限り、これは TINT というエディタではじまったはず。これは「Tint Is Not Teco」の略で、それはやがて「SINE Is Not EMACS 」の略で SINE とか、「Fine Is Not EMACS 」で FINE とか、

だそうで、ハッカー文化から始まったのを知ることができます。

最近でも、再帰定義は流行のようで、至るところで目にします。たとえば、Linux 上で Windows API をエミュレートするライブラリである Wine は、“Wine Is Not an Emulator” の略ですし、動的な Web ページを構築するための言語 PHP は “PHP: Hypertext Processor” の略だそうです。

しかし、すべてが最初から再帰定義だったのかというと、そうではないようです。Wine はもともと “WINdows Emulator” の略でしたし、 PHP はもともと “Personal Home Page tools” という意味だったそうですが、後に変更されました。定義が後から変わることは、しばしばありますが、その際にまずいネーミングを、再帰定義に変えてしまうことが多いようです。

最近では、RPM を “Redhat Package Manager” から、“RPM Package Manager” にしようという動きも見られます。しかし、言葉遊びの感覚が優先されてしまうと、端からは冷ややかな目で見られてしまうかもしれません。行き過ぎには注意しないといけないでしょう。

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

68 queries. HTML convert time: 1.187 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン