今月のプロジェクト
2008年8月 - CLX C++ Libraries
プロジェクトの概要
CLX C++ライブラリは、文字列処理やネットワークプログラミングの補助などを行うための、ヘッダファイルのみで構成されたC++ライブラリです。CLXは、他のライブラリを必要とすることなく単体で利用することができます。また、システム(WindowsまたはLinux)に関わらず、同じインターフェースで利用することができます。動作確認は、gcc 4.1.2およびVisual Studio 2005で行っています。
プロジェクト管理者へのインタビュー
“CLX”は何の略ですか?
CLown eXtended (C++ Libraries)
かなりこじつけですが。clownは、自分が普段使ってるハンドル名です。何か意味があって、それなりに短い名前空間が欲しいなとあれこれ考えた結果、この名前に行きつきました。
CLXの開発コンセプトは?
Download & Inject
C++だとBoostが準標準と言う扱いになっていますが、Boostを使っていると「このライブラリって使うのにビルドが必要だったかな?」と言う風に実際に利用するまでの設定で悩むことが多々あり、それが面倒に感じていました。
なので、(ダウンロードした)アーカイブを解凍してできたフォルダを作業フォルダにコピーするだけで使えるライブラリを目指しています。
プロジェクトを始めた動機は? また、どうやって始めましたか?
実験データから平均値などの値を求めることが多かったのですが、そのときに、実験によって出力されるデータのフォーマットが違うので、その都度(書き捨て)プログラムを書くのが面倒だなという不満を持っていました。そこから、“データ一行分のフォーマットを文字列で与えたら勝手に全部読み込んで(二次元)配列に展開してくれる”ものが欲しいなと思ったのが最初でした。その機能を実装したのが以下のライブラリになります。CLXの中でもかなり思い入れの強いライブラリです。
table class
http://clx.cielquis.net/table.html
その後は、プログラムを書くたびにライブラリ化できるものはできるだけ再利用可能な形に書き直し、取り合えずどんどん追加していくうちに現在の形になりました。
SF.JPに開発拠点を移した理由は?
始めは大学のWebスペースで公開していたのですが、それだけだとやっぱり誰も振り向いてくれないので寂しいなと感じていました。それで、どうしたら少しでも使ってもらえるかなと考えていたときに、SourceForge.JPのことを思い出して、OSSと言う形で公開してみようと思い立って申請してみました。
このソフトウェアのターゲット・ユーザーは?
C++でプログラムを書く人全て、でしょうか。
ちょっとしたプログラムを書くときに、このライブラリを使うとグっと楽に書けると思ってもらえるように育っていけばいいなぁと願っています。
プロジェクトがうまく行っていると感じるのはどんなときですか?
このライブラリを使って自分でプログラムを書いている時かな、と思います。隣の人がExcelで実験データを開いている間に、プログラム→コンパイル→計算、の全てが終わったときは勝ったと思いました(笑)
このプロジェクトをやっていて最も驚いた出来事は?
間違いなく、このインタビューですね。メールを頂いたときは本当に驚きました。
このプロジェクトで最も苦労している点は?
リファレンスの作成に一番苦労しています。
ライブラリを使ってもらえるかどうかはリファレンスにかかっていると思うので、できるだけ多くのサンプルプログラムを載せつつ、使い方を分かってもらえるような説明を書くにはどうしたらいいかな?といつも悩んでいます。
今後のプロジェクトの方向性は?
しばらくは、テスト&デバッグをメインにやっていこうかなと思っています。
後は、インターフェース(関数の引数など)が使い易いかどうかの確認。今まで何度も大幅にインターフェースを変えているのですが、そろそろインターフェースを固定して、互換性のことも考えて行きたいなと思っています。ぼちぼちver. 1.0.0を名乗りたいですし。
ただ、今までもそうでしたけど、新規ライブラリの追加は思いつきなので、こんな機能が欲しい!と思ったらまた増えるかもしれません。
このソフトウェアあるいはプロジェクトについて誇れるところは?
誇れるところ……何でしょう。今回、この話を頂いたことは誇れるんじゃないかな、と思っています。
このプロジェクトでどこかやり直せるとしたら、どこを変更したいですか?
CLXというキーワードでgoogleで検索してみると、どうやら既にC++で有名なものが存在しているようで……この辺はきちんと調査すべきでした。
そんな訳で、CLXと言う名前を変えたいです。
あなたの本業は何ですか?
大学生です。そろそろ本業を見つけないといけない頃合なので、就職先を絶賛募集中です!
あなたの開発環境は?
- 開発環境: Windows XP SP2 + テキストエディタ
- テスト環境: gcc 4.1.2 (cygwin)、Visual Studio 2005
バージョン・ヒストリー:
- 2006/02/22 version 0.5.0 最初の公開バージョン
- 2008/07/12 version 0.9.1 SourceForge.JPにて最初の公開バージョン
- 2008/08/28 version 0.11.0 最新バージョン
その他、詳細は以下のページを参照して下さい。
Update history
http://clx.cielquis.net/history.html
このプロジェクトに貢献するには?
誰が使っているのかも全然分からない状態なので、取り合えず使っている人の反応を期待しています。後は、こういう機能があると良いのでは?みたいな要望があれば、自分の能力と興味が叶えば実装していきたいと思います。
SourceForge.JPへの要望をお聞かせください。
まだ利用し始めたばかりでそれぞれの機能の役割が分かっていない、と言うことで、チュートリアル的がものがもっとあると良いかもしれません。
(取材日:2008年8月19日)
記事へのご感想をお寄せください。
今月のプロジェクトに戻る