なでしこ開発記録
DESCRIPTION
TRANSCRIPT
なでしこ開発の実態
日本語プログラミング言語「なでしこ」開発体制の紹介
なでしことは?
• 日本語プログラミング言語
• 母国語でプログラミング。みんなに優しい。
• 命令が豊富。 1000 以上の組み込み命令。
• Excel/Word/ データベースなど実務処理で便利な命令がたくさん。
なでしこ何に使えるの?
• 母国語であることを利用して、プログラミングの学習に。
• 専門学校や短大などで、利用実績が増えている。
「こんにちは」と表示。3+5 × 2を言う。もし、A>5ならば 「Aは 5 以上」と表示。
「こんにちは」と表示。3+5 × 2を言う。もし、A>5ならば 「Aは 5 以上」と表示。
なでしこ何に使えるの?
• なでしこは、日常のバッチ処理(提携業務)を記述するのに優れた言語
どのくらいの人が使っているの?
• 毎月、 4000 件のダウンロードがあります。
(多い時は、 1 万件)• だいたい、月 1 回、定期的にバージョン
アップしているので、アクティブユーザーが 4000 ~ 5000 人くらい?!
祝!公式バイブル発売 (2008 年 6月 )
• 2004 年の「公式ガイドブック (MYCOM) 」に続いて、 2008 年 6 月に「公式バイブル ( ソシム ) 」が発売された!
• 公式ガイドブックは、オークションで、 10 倍以上のプレミアがついていたので朗報!!
なでしこ開発体制について
共同開発の様子など
開発サイクル
アバウトに案件の提案アバウトに案件の提案
開発開発
テストテスト
ベータ版リリースベータ版リリースリリース
Trac に登録
自動テスト
バグが見つかれば差し戻す
これがメイン
開発メンバーは?
• 主な開発者:クジラ飛行机(プログラマー)• サブ開発者:しらたま(大学生?)• 開発メーリングリストのメンバー–参加者は多いが、アクティブメンバーは 10 人?–テスト協力や意見交換など
• 気まぐれなアクティブユーザー–オープンソースなので、ちょくちょくソースを見
てアドバイスやバグ報告をくれるユーザーがいる
役割分担
• 今はアバウト• できるところを、できる人が担当する
共同開発に使っているツール
• バージョン管理は、 Subversion• 案件管理は、 Trac• まとめは、 Wiki (Pukiwiki/Konawiki)
Trac 便利すぎる
• 仕事でも、 Trac を利用している→なでしこにも採用の流れ
• しかし、 Trac の タイムライン機能が便利。
• 開発の流れを時系列にチェックできる。• RSS で開発MLメンバーが確認して突っ込
み
Trac のタイムライン
コミュニケーション• メーリングリスト(開発用 + 一般用)– 公開されず記録に残るのは、メールが一番
• 質問用の掲示板– 意外とチェックが大変。工夫が必要かも
• バグ報告の掲示板– 現在休止中→ Trac に移行しつつあるが一般ユー
ザーにはハードルが高い• 直接メール• ( ラフに )Twitter• ( どうしても必要なとき ) メッセンジャー
ユーザーからのフィードバック
• オープンソースの醍醐味• 掲示板 → バグ報告、意見、アドバイ
ス• ダウンロードアンケート• 直接メール
テストの自動化
• 組み込み命令が 1000 以上あるのでテストがかなり重要
• 命令を追加したら、ユニットテストっぽいものを作成することが義務
• (1)リリース前に全ての自動テストを実行
• (2)ベータ版を開発MLメンバーで試す• (3)問題がなければリリース
バグとの戦い
• 月1バージョンアップの悩み• バグの修正が不徹底→ユーザーの不信感• 自動テストに頼りすぎている• 自動テストできない部分でバグが出る• →とにかく、様々な要素を自動テストで実行できるようにする
開発メンバーの勧誘
やりたいことに対して人力が足りなさすぎ
開発メンバーを増やしたい
• なでしこ→ CodeGear Delphi で開発–デメリット→ Delphi 使いが少ない
• OSCなどへの出展、オフ会の開催• なでしこ開発に参加するメリットは?• 今後、アンケートを告示するなど、開発
参加者のモチベーションを維持するための仕組みが必要かも
• C言語で書きなおすプロジェクト発動中
コア開発者2人
• ActiveBasic にならって、開発者ミーティングを開催しようと画策するも、失敗。
モチベーションを高める
• オープンソースの開発ではモチベーションが重要
開発開発
公開公開
感謝、感想、要望満足感・達成感感謝、感想、要望満足感・達成感
コミュニティの育成
• なでしこのユーザーコミュニティが形成されつつある
• オフ会、OSCへの出展、開発合宿の開催
• 今後、勉強会なども定期的に開きたい• はてなグループの活用
マニュアルの完全Wiki 化達成
• なでしこのマニュアルは、ほとんど自動生成される。コマンド追加時に、基本的な使い方の記述を強要される仕組み
• マニュアルの自動生成+Web上の Wiki と統合されている (SQLite を利用 )
• 誰でもマニュアルを追記できる仕組み(ただし、スパム対策は大変)
ビジネス化
• 「なでしこ」開発で飯が食えるようになること
• なでしこデラックス版の販売• なでしこ FileMaker プラグインの販売• 毎週のコラム執筆• 書籍の執筆• なでしこを使った開発案件の受注
ーーー• 実現度→ 30%達成
今後のバージョンアップ予定 (未定 )
• (1) GUIを主体にした開発環境を作る– Mac OS X の Automater– Squake– Lego MindStorm
• (2) C 言語で作り直す– Windows/Linux/Mac OS X で動くようにする–開発者を増やす
• (3) ActionScript への移植– Flash/Flex/AIR で動くようにする(ウィジェッ
ト化)