なでしこ開発日誌 - 10月進捗報告

 未踏ユースで『日本語プログラミング言語の開発』のプロジェクトをはじめて3ヶ月ほど。開発が可能な時間はすべて、全力で日本語プログラミング言語の開発に打ち込んできました。生活を心配せずに、こんなに1つのことに集中してすごせる時間はとても幸せです。

■完成しているもの

 さて、肝心の日本語プログラミング言語の方ですが、言語自体の設計は終了し、現在は言語とGUIのつなぎの部分を作成しています。ウィンドウ上で、ボタンを押せば、図形を描画したり、単位変換をしたりと、簡単なプログラムを組むことができます。

 今回、インタプリタながら、構文木を作ってから実行するようにしたら、前作ひまわりの、20倍の速度で動くようになりました。



■名称は…日本語プログラミング言語「なでしこ」

 そして、そろそろ、言語に正式な名称を与えなければ、ということで、考えに考え抜いた末に、「なでしこ」という名前に決定しました。

 これは、前に作ったプログラミング言語が、「ひまわり」なので、次も花の名前から取ろうと決めていたのですが、オリンピックを見ていて、盛んに、大和ナデシコ、ナデシコジャパンなどと、とかく「なでしこ」というキーワードが耳に入ってきたので、プログラミング言語でも、金メダルを、たくさん獲得したいという気持ちから「なでしこ」に決めました。

■ベータテスト版をWEBで公開開始

 名前が正式に決まったので、さっそく、nadesi.com というドメインを取得し、ベータテスト版の配布を開始しました。10月8日から1週間の間に、1560件ものダウンロードがあり、いろいろな意見が寄せられました。これだけダウンロードがあったのは、窓の杜のニュース記事で、なでしこが取り上げられたからです。

 掲示板には、以下のような意見が寄せられました。

・マニュアルがないので、早く作ってほしい。
・まだ実行ファイルが作成できない
・具体的に、○○の機能がほしい
・サーバーで動くCGIを作ってみた
・(前作)ひまわりとの互換性がほしい
・解説ページを作ってみた
・今後に期待している
などなど

 また、チャットで直接ユーザーの方から、新機能のアドバイスを受けることもありました。その中のユニークな機能としては、SI単位系ということで、数値の後に単位を記述できるというもので、単位を、"5k"と書けば、"5000"と解釈するというものです。もちろん日本語で、"5万円"と書くと、"50000"と解釈します。

■問題点

(1) ユーザーからのフィードバックより〜インデントによる構造化について

 現在、ベータテスト版試してくれるのが、前作ひまわりのユーザーの方が多いため、互換性に関する問題を取り上げることが多いのですが、新しい言語ということで、割り切ってもらうことにしています。

 特に、今回、条件分岐や繰り返しの構造化に、Pythonのようなインデントを用いることにしたのですが、構造化を括弧で括って表現できるようにして欲しいという意見が出ています。

 私がデモを製作した時に感じたのは、括弧がないインデントによる構造化は、プログラムがすっきりと見渡せるので括弧によるインデントより楽ではないかということですが、書きやすさなど、まだいろいろ試して検討していこうとは思っています。

(2) 機能と配布サイズのバランスについて

 今回、日本語のプログラミング言語の開発に関して、目標にしていた、配布サイズを軽減して、フリーソフトの製作に使ってもらえるようにするということに関して、多機能にすると、配布サイズが大きくなってしまうので悩んでいます。

 特に、既存の便利なGUIライブラリ(Borland Delphi の VCL)を組み込むと、私も楽だし、ユーザーも多機能の恩恵を受けられるのですが、配布サイズがずいぶん大きくなってしまいます。

 現在のGUI+インタプリタのセットは、57KB+192KBですが、ライブラリのVCLを利用すると一気に、1MB〜2MBに増えてしまいます。

 半年という開発期間で最大限の効果を挙げるには、ライブラリを利用した方が得なので、配布サイズは大目に見てVCLを利用しようか…という方に傾いています。

 配布サイズの解決策として、今の簡易GUIと、VCL−GUIのリッチGUIを2つ作って、製作するアプリの種類によって配布タイプを切り替える方向で考えてます。

■今後のスケジュール

 10月23日に、関西オープンソースが開催されるのですが、そこで「なでしこ」のブースを出すことになり、イベントに向けて、配布用のデモやある程度使えるマニュアルなどを製作しています。

 他に、11月7日に、ユーザーの方を集めて、なでしこ体験オフ会の開催を考えています。

 10月から11月の初めにかけて、言語仕様について、フィードバックや意見の交換を経て、文法を再度ブラッシュアップしようと思います。

 11月からは具体的なライブラリの製作に入ります。

戻る