デジタル人材の育成
筧 捷彦PM(早稲田大学 理工学術院基幹理工学部 情報理工学科 教授)
チーフクリエータ
木脇 太一(東京大学大学院 工学系研究科 電気系工学専攻)
コクリエータ
なし
ドローソフトを使って少し複雑な図を描こうとして、面倒なマウス操作の繰り返しにイライラさせられたことはないだろうか? またはフローチャートを描こうとして、箱の中央など"あり得ない位置"に線が引かれてしまい、手間取ってしまったことはないだろうか? ここでは、こういったストレスを軽減するために、Emacs的なドローソフトを提案する。
ここで"Emacs的"というのは、Lispのインタプリタを中核に備え、ソフトの全てがLispで構築されていることである。
まずこれは従来のGUIに加えて、CUI的な側面を持っている。それはLispのシェルを通してユーザがシステムに直接命令を送ることができるからである。これにより、手で描くには大変な図も簡単に描くことができる。もちろん、このシェルからの操作とGUIからの操作は全く同等で、ユーザは場合に応じて2つのインターフェースを使い分けながら、効率的に作業を行うことができる。
また画面に線を描くことからGUIのデザインまで、ソフトの全ての機能をLispから操作できることも大きな特徴である。これによってユーザはそれぞれの目的に合わせて簡単にソフトを改造することができ、効率性を極限まで追求することができる。更に、絵を構成する部品をきちんと準備してソフトに教えてやれば、ユーザの操作に合わせてソフトが自動的に姿を変えることも可能である。
以上の機能をうまく利用するためにはもちろん、手間暇をかけてユーザが"育てて"やらなくてはいけない。しかし努力を惜しまなければ、どんな風にも進化してゆく、そんなドローソフトを本提案では目指している。
クリエータは、電気系工学専攻の修士1年生。プログラミングについては、ほとんど独学で勉強してきている。その中で、emacsを愛用し、プログラミング同様に、マウスに手を伸ばすことなしにキーボードをたたき続けるだけで、Latexを使ってレポート作成も論文作成も行うスタイルが身についたという。なにより、emacsがlispで作られていて、いざとなればユーザ自らがlispでプログラムを書いてコマンドを追加したり機能拡張を行ったりできるところがうれしいのだという。emacs lispを使ったプログラミングも自ら行っているという。
ところが、図を描くこととなると、どのドローソフトでもコマンド追加や機能拡張が随時にできるものがない。lispを用いた emacs風な作りのドローソフトウェアを開発しよう、というのが提案である。lispの上に作れていれば、関数のグラフやデータ構造の図示などは、プログラムを書いて機能拡張できれば簡単に作図できるではないか、というのがクリエータの主張である。まだまだ序の口のレベルながら、デモも行ってくれた。独学ゆえの知識不足、調査不足が感じられるものの、それらは未踏ユース開発期間のうちにたちまちに解消して、持てるアイディアを高いレベルに洗練し上げ、言語機能に深く根ざした形にドローツールを仕立て上げてくれるものと期待している。