Entry

本日のウェブクリップ - どこにでもよくある日本語識別子問題

2008年05月25日

過去の荒れた ML を見て回る悪趣味企画。今回は MySQL ML より(引用中の改行は適宜削除しています)。

皆さん、教えて下さい。

MYSQLにて日本語で項目名やテーブル名をつけることは無理なのでしょうか。

宜しくお願いします。

[mysql 7174] 日本語項目名やテーブル名について

ネイティブ言語の文字セットで識別子を定義したいという,よくある素朴な疑問です。2003年当時はオフショア開発もまだ珍しかったから,開発要員に中国語をしゃべる人は少なかったんでしょうけど,今時,誰でも分かる(分かっているべき)開発上の自然言語は英語なわけで,わざわざ日本語に引きこもる必要性が,さらに薄まっていたりします。荒れた原因は上記引用の当人さんじゃないので,気になる方は,スレッドをご参照をば。

実際問題として,システムを開発する際の用語(識別子)なんてのは,ある程度固まっているわけで,よほど特殊なシステムを構築するのでもない限り,慣習的に使っている識別子をそのまま使い回す方が効率的だったりします。多くは経営学用語なんでしょうけど,例えば,販売管理システムだったら Sales Management System(SMS)になるだろうし,品質管理システムだったら Quality Management System(QMS)になる。カラム名にしても,「…量」だったら *_amount になるだろうし,「…日」だったら *_date になる。ここら辺は,システムを構築する側のノウハウなわけで,あらかじめちゃんと決めておけば,「ドキュメント性」なるもんのあるなしに関わらず,ある程度矛盾なく運用できたりします。

で,こういう誰でも何か言えちゃう話は,当然,精神論にも及ぶ。

エラーを回避するのは当たり前ですが、それ以上にシステムの条件を拡げようとしない消極性は残念だと思います。「問題」は解決すべきであって、回避すべきではありません。それは、技術者のモラルと言ってもいいと思います。

システムが高機能であることがより強い競争力を持つことになるのは事実で、それを技術者が使いたがらないのは、自ら売れないことを望んでいるようなものです。それが、不必要な複雑さだというのなら、新たに開発されたすべての高い機能は必要なくなってしまって、昔の環境が綿々と生き残っていけばよいです。

[mysql 07255] Re: 日本語項目名やテーブル名について

高機能なシステムを作ることだけがエンジニアリングのモラルだとは思えないわけで,例えば,UNIX 的な考え方のように,シンプルで単機能であることをポリシーにしたまま,実装を洗練させていく考え方もあったりします。当該ソフトウェアのポリシーをわきまえないまま,むやみに高機能化する弊害はあちこちで起きているわけだし,それは単純に「対応すべき問題ではない」と判断することを「回避」してきた人間による人的問題でもある。いずれにしても,こうした精神論が出てきてしまうと,議論は拡散してしまいます。

一通りスレッドを読んだんですけれど,このスレッドは ML なり掲示板なりの荒れる要素が,かなり濃縮されている感じがします。ある意味,モデルケース。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN