2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

最近のトラックバック

無料ブログはココログ

« OuDiaの読み方は「おおゆうだいや」です | トップページ | 自作ソフトがNorton の SONAR で削除される »

2010年1月28日 (木)

OuDiaの”Ou”はどういう意味?

OuDiaの”Ou”はどういう意味?という質問を何人かの方から頂きました。今日は、この由来について振り返ってみました。

”Ou” は、OuDia本格着工以前の2002年に、ダイヤグラム描画ソフトとは全く無関係に試作した小さなプログラム部品(C++言語のクラステンプレート)の名前です。

プログラム部品 "Ou" は、「オブジェクトの使用者の数を管理することにより、そのオブジェクトの自動的な解放を行う仕組み」です。もう少し専門的に(C++言語的に)言いますと、Ouは「参照カウンタ方式でインスタンスのdeleteを行うスマートポインタ」です。

この"Ou" のアイデアは僕が発明したものではなく、多くのソフトウエアで既に実用化されていたものです。僕は仕事関係でとあるオープンソースソフトウエアのソースを解析したときに、この「参照カウンタ方式でインスタンスのdeleteを行うスマートポインタ」のアイデアに遭遇しました。そして、その仕組みに関心を覚えるとと同時に、欠点(※)にも気がつきました。その欠点を解決し、自分が使いたいスマートポインタを自分で作ってみようと思って作成したのが "Ou" でした。

※僕がこのとき遭遇したスマートポインタはマルチスレッド対応だったため、スレッド間の同期を行うためのMutexをスマートポインタ毎に内包していました。このため、パフォーマンスに難がありました。

"Ou" も試作当時はこのような名前ではなく、最初はもっと長い名前を付けていました(今となっては思い出せませんが)。しかし、Ouは粒度の小さいプログラム部品であり、プログラム上ではネジのように随所に多用される性格のものです。このような部品の名前が長いのでは、それを利用するプログラムは文字数が激増し、見辛くなってしまいます。また、それに伴って当然キーボードのタイプ回数が激増するため、生産性が著しく悪化します。このため、この部品には、キーボードで打つのが楽な、記号代わりのような短い名前が必要である、と考えました。

できるだけ短い名前ということから、まずは「名前はアルファベット2文字とする」ということに決めました。C++言語では1文字の名前も許されますが、1文字では検索ももままならない([編集]-[検索]をしたときに他の単語に含まれる文字までもが引っかかってしまう )ため、さすがにまずいだろう・・・と考えて2文字にしました。しかし、検索容易性を考えると、「なるべく英単語の途中には現れにくいアルファベットの組み合わせが望ましい」とも思いました。

この制約の中で、プログラム部品の性格をできるだけ現したアルファベットの組み合わせを考えた結果、「オブジェクト使用者の数を管理する」という部品の機能から導出した "Object User" ・ "Object Using" を略した "Ou" を、このプログラム部品の新しい名前としました。

OuDiaの本格着工は、それから3年後の2005年です。着工時は ”OuDia”という名前はありませんでした。新しいダイヤグラム描画ソフトには "DiagramEdit.exe"という適当な名前を付けていました(この名残で、ソースファイルには今でも、DiagramEdit という名称が随所に残っています)。

新しく作成するダイヤグラム描画ソフトでは、それまで試作段階だった "Ou" を本格的に活用してみました。つまり、OuDiaの開発自体が「"Ou"がそれなりの規模のアプリケーションでの実用に耐えられるか否か」の実証実験を兼ねていたのです。

幸いこのダイヤグラム描画ソフトはそれなりに動作し、ネット上で公開しても大丈夫そうなレベルの完成度になりました(今よりはずっと低い完成度ですが)。しかし、いざネットで公開ということになったとき、 "DiagramEdit.exe" という名前は固有名詞らしくなく、ソフトの名称としてはどうかと思いました。このため、もっと別の固有名詞らしい名称が必要だと考えました。

とはいうものの、他によい名称も思い浮かびません。また、名前付けに時間をとってソフトの公開を先延ばしにするのもアホらしい話なので、仮称のつもりでさっさと名称を決めてソフトの公開に踏み切ることにしました。

その結果、随所でソフトウエアを支えている部品の名前でもあり、しかもキーボードで打つのが楽で大した意味もない記号のような固有名詞の"Ou" と、ダイヤグラムの "Dia" を合成した "OuDia" を、新しいダイヤグラム描画ソフトの名称を としました。もっともこの当時は、これはあくまで仮称であり、いずれはもっとましな名前をつけようと思っていました。

つまり、"OuDia" の名前の由来は、「"Ou"というプログラム部品を使ったダイヤグラム描画ソフト」なのです。かつてJR九州では783系「ハイパーサルーン」を使った特急「有明」に『ハイパー有明』という列車名を付けていましたが、それと似た感じの名前付けともいえます。

"Ou" という名称には、ダイヤグラム作成ソフトにかける希望や抱負といったものは一切込められていません。そういうエピソードを期待した皆さん、ご期待に沿えなくてすみません。

« OuDiaの読み方は「おおゆうだいや」です | トップページ | 自作ソフトがNorton の SONAR で削除される »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/186995/47424501

この記事へのトラックバック一覧です: OuDiaの”Ou”はどういう意味?:

« OuDiaの読み方は「おおゆうだいや」です | トップページ | 自作ソフトがNorton の SONAR で削除される »