Boost.Localeが、賛成10、反対5で採択された。たったの15人しかレビューしていないライブラリーが、万人の役に立つと、どうしていえようか。しかも、15人のうち、東アジア人としてレビューしたのは、私一人なのだ。まあ、役に立たないライブラリがひとつ増えるだけだ。
localeによる翻訳に対する、ユニークな識別子としての入力には、ASCIIを渡さなければならない。何故ならば、このライブラリの作者は、英語こそが至高の言語であり、全プログラマーとソフトウェア開発に携わる全人間は、当然のごとく英語を使うべきであると信じているからだ。何故ならば、およそ日本語のような言語は、理解するものが少なく、他の言語に翻訳しにくい。英語こそが全世界の共通語であり、英語で書かれていたならば、各国語への翻訳は簡単だからだというのである。
そのため、翻訳文へのマッピングにはASCIIを渡さなければならないのだ。
std::cout << translate("Use the goddamn English! You silly Japs! Stop using the Moon language!") << std::endl ;
しかし、ソフトウェアにおける文章とは、単にプログラマーだけが書くものではない。ゆえに、このライブラリを使おうとすると、ソフトウェア開発に携わるすべての人員に、十分な英語の知識が必要である。しかし、そんなに末端まで英語に堪能な人材を集められるとするならば、そもそもそんな最初から翻訳など必要ないということになってしまう。
ましてや、今日の英語だって、ASCIIの範囲内の文字だけでは表現できない。ということは、このライブラリーを使うには、ふたつの英語のテキストを管理しなければならない。本物の英語のテキストと、translate()に渡すユニークな識別子としての英語のテキストである。
最近、Boostには、大多数のプログラマーには役に立たないライブラリが多すぎるように思う。本当に必要なライブラリーは、大多数のプログラマーの意見の不一致により否決され、Localeのように、現実には何の役にも立たないライブラリーが、あまり注目されないために、まともに議論もされずに通ってしまう。
Boostの査読によるライブラリ採択の仕組みは、もはや完全に破綻しているのではないだろうか。
No comments:
Post a Comment