修正日:2013年01月30日(作成日:2012年12月15日)


はじめに

 身近なものに対する疑問が研究の発端になるとはよく言ったものだが、自身の取り組む研究として相応しいテーマはそう簡単に見つかるものではない。 学部4回生としての研究に際して、そのテーマの採択ほど時間を要することは他になかったであろう。 長きに渡って悩み考えあぐねた末にようやく「スパゲッティ」という着想を得て、もうこれ以外に道(発想できること)はない...と思ったほどである。

ソフトウェアプログラムをスパゲッティにしてしまおう

 ある先行研究[1] を師にご教示いただいたことでこの主題に至ったのだが、その経緯の詳説は後の章に譲るとして。 まずはソフトウェアプログラムのメタファ(隠喩表現)となる「スパゲッティ」の調査に奔走した。 日夜、数々のスパゲッティを食べ歩き、また調理し、その歴史や性質を徹底的に調べ上げた結果、私は「スパゲッティ」という食材が織り成す広大な世界を垣間見たのだ。 そんな私には、どうにも納得できないことが一つあった。

 研究テーマの着想には、かつてのソフトウェア開発における問題でもあった「スパゲッティプログラム」という言葉が一役買ったのだが、様々な文献を当たってみると、その全てにおいて悪い意味(手のつけようのない複雑なプログラムという意味)で用いられていたのだ。 ピンからキリまである多様なスパゲッティを食してきた身として、「スパゲッティ」という言葉を一概に悪い意味で使っていることに対して腹立ちをも覚えたほど。 このことについて、本研究の中間発表で次のように述べたことがある。

世界中のイタリアンシェフを敵に回すような表現であり、言語道断である。プログラムと同様にスパゲッティにも良し悪しはあるのだ。

 自分のことながらその荒ぶり方には少し呆れるが、この「スパゲッティへの情熱」こそが、本研究に取り組むための原動力となっていたことは相違ない。 かくして、スパゲッティとして可食化するための研究が進んでゆくのだが、その結末や如何に。上手く説明できていないが、関心や興味をお持ちいただけたとすれば幸いである。

三つの興味

 研究への取り組みとは無関係に、私はある三つのことに興味を抱いていた。ただ、同じ研究活動なら興味のあることに取り組みたいもの。 なるべく興味の対象全てを取り扱うように配慮しながら本研究に取り組んできたので、それぞれを簡単に紹介させていただきたい。

メトリクスに関すること

 何かしらの尺度・指標で対象を計測することを「メトリクス」と言うのだが、これは、対象を捉えるための別の側面(切り口)を見出す際に有効な手段である。 同じ対象を見ていたとしても、捉え方(尺度・指標)が異なれば、その見え方も変わるもの。 都合の良い捉え方を見出したり、驚くような新しい発見を促したり、その奥深い世界に広がる大きな可能性を思うと、興味を持たずにはいられない。 そのため、取り組む研究の主題として、ソフトウェアプログラムのメトリクスにまつわるものを採用した。

教育に関すること

 元々、自分の知っている情報を誰かに提供するということが好きだった私は、以前から教育系に興味を持っていた。 さらに、上級生として下級生の質問に対応する制度「寺子屋」において、指導側としての役どころを授かっていたこともあり、研究も教育にまつわる内容にできればと考えていた。 そのため、可食化の例題として「初学者のプログラムの良し悪し」に関するテーマを設定し、プログラミング初学者の教育に貢献できるよう構成した。

言語処理系に関すること

 直属の先輩である水野 信さんは、ご自身の研究でプログラミング言語の開発をなさったのだが、そのことによって受けた影響が大きい。 予てからプログラミング言語自体に興味を抱いていた私は、水野さんの実例を目にすることで、言語設計や処理系実装の魅力に染められたのであった。 そのため、本研究で用意するメトリクスツールを実現するため、新しい言語「SynapseScript」を設計及び実装することにした。