長い間続いた本連載も、90回目の今回で一区切りつけることとなりました。10行という限られたプログラムながら、なでしこを使えば、仕事の自動化に役立つことが十分説明できたことを証明できたと思っています。時には、10行に収めるために少々無理をしましたが、10行だからこそ、ポイントを絞って、仕事の自動化に役立つノウハウを紹介できました。

区切りとなる今回は、10行プログラミングを振り返りつつ、今後の開発について書いてみたいと思います。

10行プログラミングを振り返って

楽しかったこと・大変だったこと

10行プログラミングを書くのは、とても楽しい時間でした。とにかく、なでしこを使うことで、非常に難しい処理が10行という短いプログラムで書くことができた時には、「なでしこ、すごい!」と、自画自賛し誇らしい気持ちになったものです。そしてネットの評判で「こんな処理が数行の日本語で書ける」と話題に上るのがとにかく嬉しかったです。

しかし、面白いネタが思い浮かばない時は、非常に苦しく悩むこともありました。締め切りに追われた漫画家や小説家はこんな心境だったのか!と作家気分も十分に味わうことができたのも、大きな収穫(?!)でした。

10行プログラミングを書いていて気づいたこと

10行プログラミングを書いていて、10行であるがゆえの壁に何度かぶつかりました。それは、Windowプログラミングです。ウィンドウ上に独自のエディタやボタンを配置していくと、それだけで、あっという間に10行を超えてしまいます。これは、プログラムと言うよりデザインなのですが、それでも、10行以内に収めて書く必要があります。

そのために、10行プログラミングでは、デザインが不要な出来合いのモーダルダイアログを利用する命令、「尋ねる」や「二択」、「メモ記入」や「項目記入」などを使うことが多かったです。

これらの命令は、イベントドリブンにより進行するWindowプログラミングと無縁で、常に手順を、上から下へと順々に記述していくことができます。プログラムを短くする上でも、分かりやすいプログラムを書く上でも非常に重宝しました。

それから、90回も原稿を書いているので当然ですが、連載当初よりも、なでしこが活躍できる現場を、明確に答えられるようになってきました。

それは、以下の場面です。

  • 定型処理の自動化を行う時
  • プログラミングの学習をしたい時
  • 使い捨てプログラムを書く時

定型処理は言うまでもありません。なでしこに用意されている1,000個を超える命令のほとんどが、定型処理のために用意されているものです。

そして、プログラミングの学習においては、日本語が持つ可読性をもってすると、高い学習効果を発揮することができます。

あと、なでしこでは、10行程度の使い捨てプログラムを書くのが非常に得意です。それは、本連載で十分にアピールできたのではと思っています。また、連載と関係なく、私自身も1回実行して終わりというプログラムを非常によく使うのです。

私がよく書く使い捨てプログラムは、クリップボードの内容を整形する場合です。ここでも、なでしこのダイアログ「メモ記入」命令を使って、整形した内容をテキストエディタに表示させることができます。また、送るメニューのフォルダを開く時などもなでしこを使います。こうなると既になでしこがランチャーの代わりです。(ちなみに、送るメニューのフォルダなら「SENDTOパスを起動。」と書いて実行するだけです。)

10行プログラミングが「なでしこ」に与えた影響

10行プログラミングは、私にとっても、なでしこにとっても、とても素晴らしい企画でした。なでしこは、「誰でも簡単に日々の定型作業の自動化を行う」を目標に開発していました。そのため、10行プログラミングを執筆していて、「もっと簡単・簡潔に書けるようにしたい、もっと簡単に書けるはず」と、原稿を書きながら機能や命令を追加したこともありました。10行プログラミングの原稿を書く作業の中で、常に、なでしこを使いやすくする工夫について考えることができたのです。なでしこの細かい使い勝手は、この原稿があったからこそ、向上したと言えるかもしれません。この場を借りて、なでしこを育ててくれたマイコミジャーナルと読者の皆様に感謝したいと思います。

今後について

なでしこは進化し続ける

連載は一区切りですが、当然ながら、なでしこのサポートは継続されますし、バージョンアップも行います。というのも、私は、日々なでしこを使って仕事をしているからです。私がなでしこを使い続ける限り、バージョンアップは行われますし、最近では、複数人で継続して開発を行う体制も整ってきました。

なでしこで実現させたいアイデアも、まだまだあります。いくつか挙げてみると、最近では、Webサービスと連携するWeb APIを利用することで、これまで以上に面白いことが実現できるようになっています。そこで、いろいろな Web サービスと簡単に連携できる機能もつけていきたいと思っています。それから、大量のデータを効率的に扱えるように、データベースとの連携をもっと強化したいと思っています。これまでも、SQLiteやAccessなどのデータベースと、SQLを介しての対話はできました(本コラムでも、過去に郵便番号のデータベースを作ったりしましたね。)。しかし、SQLを書かなくても、もっと気軽に使える仕組みを提案したいと思っています。データベースアクセスを簡単にするような仕組みを導入したりして、自然な日本語でデータベース操作できるようにしたいと思っています。

なでしこの開発目標の「日々の定型作業の自動化」もハードやOSの進化に合わせて少しずつ変化してきていますので、新しい状況に合わせて、なでしこを改良し続けていきたいと思います。ぜひ、なでしこの今後も楽しみにしていてください。

次回予告、「葵」について

現在、IPAの未踏プロジェクトで『Web開発環境「葵」』を開発中です。これは、「Webなでしこ」とも言える存在です。

日本語プログラミング言語で、ブログパーツなどの、Webアプリケーションを開発することができるようにするものです。

完成したら、また、こちらで葵のお話をしたいと思います。それまで、暫くのお別れです。次は「葵」でお会いしましょう!

葵のWebサイト