クジラ飛行机――「なでしこ」に込められた鷹の勇気と蛇の知恵New Generation Chronicle(2/6 ページ)

» 2008年05月27日 00時00分 公開
[西尾泰三,ITmedia]

なでしこに込める思い

―― 最初に触れた言語は? また、一番最初に作成したプログラムは?

MSX BASICです。記憶に残っていて一番はじめに作ったのは、コンピュータの考えた数字を当てるという数当てゲームでした。はじめは数行のゲームで、これを改良していって、馬(という漢字)が走るようにしたり改造して楽しんでました。

―― 最近メインで使っている言語は? なぜその言語に引かれたのですか?

最近仕事で書くのは、Flash/Flex(ActionScript3.0)ですが、Delphi(Pascal)が好きなので、Delphiの使用頻度も相変わらず高いです。Pascalは型にうるさい言語です。Pascalに慣れているせいか、JavaScriptよりも型の厳しいActionScript3.0の方がわたしの肌に合っているようです。そして、IDEでさくさくコード補完できる言語が好きです。

 そういえば、ActionScriptの変数宣言は、Pascalそっくりですね。

言語 pascal ActionScript3.0
構文 var x:Integer;
    y:Integer;
begin
  Writeln(x,':',y);
end.
var x:int;
var y:int;
trace(x,':',y);

―― 今興味がある知識や技術はありますか?

Adobe Flex/AIRです。去年は「Adobe Flex 2プロフェッショナルガイド」という書籍を執筆しましたが、今は、AIRの本を書いているところです。

―― 日本語プログラム言語「なでしこ」の開発秘話や、限界(もしあれば)などがあれば教えてください。

なでしこに限界はなく、これからも進化していきます。というのも、わたしが日々の定型作業で必要になった機能がどんどん追加されるからです。なでしこの更新履歴を見ていくと、どうしてこんな命令が追加されたのだろうかと不思議に思われることがあるかもしれません。これは、たまたまわたしが必要だったということもあります。もちろん、ユーザーの方から日々要望が寄せられていますので、それを実現できるようにバージョンアップを続けていきます。

なでしこ 作文するような気分でお望みの処理が書けてしまう「なでしこ」。すでに既存のプログラミングに慣れた方はともかく、こうした環境にまったく興味を持たなかった層にとっては、大きな驚きをもたらすはずだ

なでしこのプログラム例

マイドキュメントを「backup.lzh」へ圧縮。

「音楽.MP3」を再生。

恋人の誕生日は「{今年}/12/24」

今日から恋人の誕生日までの日数差を表示。

一見するとただの日本語による文章であるにもかかわらず、この文章はプログラムとして動作する。日本語を話す人間にとって、思考と一体になったようなコードが書ける開発環境があるなら、それはなでしこなのかもしれない。


―― Wikipediaでなでしこを見ると、「言語としての味わいは文字列ベースのシェルにGUI命令をつけたようなもの。(人により表現はさまざま)」という表現があります。ご自身ではどのように表現されますか?

 なでしこの文法自体は、日本語がベースとなっている以外は、ほかのプログラミング言語とそれほど違いはないかなぁと思っています(語順が違ったり、特殊な変数があったり、日本語ならではのエッセンスがあるのですが)。最大のポイントは、Windowsに完全に特化しており、GUIコンポーネントに加え、Microsoft Officeとの連携など定型処理を行うための道具としてとても便利に使えるようになっていることです。

 世界中にはプログラミング言語が星の数ほどありますので、その中である程度の人に使ってもらえるものを作ろうと思ったら、何かの処理に特化して「●●をするなら、この言語」のように言われるくらいにならないといけません。「小さな仕事や日々の定型処理を手軽に書くなら『なでしこ』」と呼ばれるようになれるように、今後もバージョンアップを重ねていきたいと思っています。

―― 自分がメインで用いている言語の素晴らしさを100文字以内に凝縮して語ってみてください

わたしが伝えたい「なでしこ」の素晴らしさは、上の質問で語ってしまいました(笑)のでDelphiとActionScript3.0について。

 Delphiが素晴らしいのは、コンパイルが速いこと、型付けが強い言語でコード補完がさくさくできることが挙げられます。ですので、実は、EclipseのJava(Genericsが使えるようになってから)も、かなり好きです。

 ActionScript3.0は、コード補完もかなりいい感じなのですが、Genericsが使えるようになって欲しいのと、コンパイル速度がDelhi並みに速くなればいいなぁと思います。MTASCというActionScript2.0用のフリーのコンパイラがあるのですが、コンパイル速度がものすごく速く、しかも、Array型に型チェックをつける独自拡張があったので気に入って使っていました。MTASCの後継、HAXEにも期待しているのですが、まだ使ってません。

―― JavaScriptとActionScript3.0、どちらを学ぼうが迷っている方がいるとして、どういったメリット/デメリットを挙げてActionScript3.0を勧めますか?

はじめてプログラミング言語を学ぶ方には、なでしこをお勧めします。わたしも自分の子どもには間違いなく「なでしこ」を教えるでしょう。Webブラウザで動くものを考えているのなら、JavaScriptを勧めるでしょうね。

 JavaScriptのよいとことは、手軽に書くことができることです。Webブラウザとメモ帳などのテキストエディタがあれば始めることができます。JavaScriptはインタプリタで動くので、コンパイルする必要がなく、Firefox+Firebugという強力なデバッグ環境も提供されています。JavaScriptでプログラミングに慣れるといいと思います。

 そして、ActionScript3.0のよさは、JavaScriptよりも自由度が高いことです。グラフィックス機能が利用でき、動画や音楽の再生タイミングも細かく制御できます。Flex Builderを使うことで、高度なコード補完が利用できるのもうれしいことです。JavaScriptでECMAScriptの雰囲気をつかんでおいて、ステップアップしてActionScript3.0に進むのが理想的な学習方法かもしれません。

―― Flexの魅力をIT用語をできるだけ使わずに伝えてみてください。

比較的簡単に見た目のよい高度なソフトウェアを作ることができます。画面の組み立ては、部品を一覧から配置するだけです。これまでにないような、いろいろな部品が用意されています。表形式や一覧形式の情報を表示させる部品など多くの部品があります。利用者が入力した情報のどこが間違っているのか指摘する機能や、手軽にネット越しに情報を交換する機能もあって便利です。

―― 開発(もしくはプロジェクト)で一番の失敗だと思っていることはありますか?

頑張って作ったものが、誰にも使われなったときです。使われなくても、自分のモチベーションが続けば、少しずつ使われるようにはなっていくのでしょうけど、そういうときは、だいたいモチベーションが上がらないので続きません。

―― 理解するのに苦労したコンピュータ関連のトピックは? それを理解するうまい方法はありましたか?

MSXでBASICに親しんだ時間が長かったので、大学生になってWindowsに移行したときは、WindowsのGUIプログラミングに慣れず苦労しました。イベントドリブンの仕組みが分かってなくて、よく無限ループを書いたりしたものです。作っていくうちに自然と理解してきたというものが多いのですが、いろいろな言語や環境に挑戦するときも、手を動かして作ってみることが大切だと思いました。

―― 自分のコーディングにクセやこだわりはありますか?

当然かもしれませんが、後から修正がしやすいように、とにかく分かりやすいプログラムを書くように意識しています。セキュリティ面についても、プログラムを書き終わってからセキュリティホールに気づくと作り直す部分が多すぎるため、プログラムを書く前によく考えるようにしています。

 ですが、こうしたこと以上に、早く書き終わることも重視しています。会社では「高速クジラ生活〜誰にも負けない速度でコードを書く」というタイトルの日報を書いています。

―― これを読んでおくと幸せになれるという開発者必携の一冊を教えてください

開発とあまり関係ないかもしれませんが「『超』整理法」という本です。使ったものから手前に並べていくというだけの理論を解説しているのですが、荷物の整理だけでなく、仕事の進ちょく管理、アプリケーションの設計でも役立ってます。……よく考えると、これってキャッシュやGC(ガベージコレクション)の仕組みと同じですね。

―― ここは毎日ウオッチしている、というサイトはありますか?

よくチェックするのは同僚や仕事仲間のブログが多いです。仲の良い人たちが何に興味を持っているかを観察すると、いろいろなサイトをくまなく横断して読む以上に価値があります。サイトではないですけど、Twitterの何気ない会話にも頻繁に話題のサイトが出てくるので、定期的に流し読みしています。

クジラ飛行机となでしこはここに

常にポジティブ――記者が酒徳氏に会って感じた印象はこの一言で表現できる。チャレンジングな課題に取り組みながらも、そこに悲壮感はまったくない。むしろ、そうした状況を楽しむ酒徳氏、そして彼が作り上げた「なでしこ」はIPAX 2008で目にすることができる。

 5月27日、28日にかけて東京ドームシティ・プリズムホールで行われるIPAX 2008には、酒徳氏のほかにも、この連載に登場いただいた上野康平氏をはじめとする未踏ソフトウェア創造事業開発者たちが一堂に会する。なでしこに触れつつ、酒徳氏の熱い思いを感じてみるために足を運んでみるのはどうだろうか。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ