デジタル人材の育成

未踏IT人材発掘・育成事業(ユース):2009年度下期採択プロジェクト概要(松山PJ)

1.担当プロジェクトマネージャー

首藤 一幸PM(東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 准教授)

2.採択者氏名

  • チーフクリエータ
    松山 朋洋(専修大学 経営学科 経営学部)

  • コクリエータ
    なし

3.未踏プロジェクト管理組織

  • 株式会社オープンテクノロジーズ

4.採択金額

  • 3,000,000円

5.テーマ名

  • Emacsにおける高精度コード補完機能の開発

6.関連Webサイト

  • なし

7.申請テーマ概要

Emacsの編集インターフェースは非常に洗練されており、プログラマの作業効率に与えている影響は計りしれない。しかしその一方で、コード補完機能においてはVisual StudioのIntelliSenseやEclipseのCodeAssistなどには遠く及ばないのも事実である。本プロジェクトでは、主要なプログラミング言語に関してEmacsのコード補完機能を大幅に増強することにより、プログラマの作業効率を全体的に底上することを目的としている。

本プロジェクトの母体となるのはauto-complete.elという拙作のコード補完拡張である。auto-complete.elはポップアップ型のコード補完機能のフレームワークである。現状ではごく簡単なコード補完機能しか提供していないが、プラグインという形でさらに高度なコード補完機能を開発することが可能である。本プロジェクトでは各々の主要なプログラミング言語のためのプラグインを開発することで上記の目的を達成する。以下が本プロジェクトで対応するプログラミング言語である。

  • C++

  • Java

  • Ruby

  • Python

現状では、これらのプログラミング言語におけるメソッド補完などの高精度なコード補完は不可能である。本プロジェクトでは、これらのプログラミング言語で高速かつ高精度で行えるようにする。

さらに、以下に挙げるauto-complete.el自体の拡張および研究も行う。

  • 補完インターフェースの研究
  • 補完インターフェースの改良
  • サマリ機能などの本体機能拡張

また、日本語および英語のドキュメントを作成して、ユーザー(特に新規ユーザー)が簡単に利用できるようにする。

Emacsが開発されてから二十余年、ポップアップ型補完拡張は一度も登場したことがなかった。ましてや動的言語のメソッド補完などは夢のまた夢であった。最近になってようやく、それを実現するための条件が満たされようとしている。私は、本プロジェクトがEmacsの進化に大きく貢献し、今まで見せたことがなかったエディタとして一面を見せはじめるきっかけになると信じている。

8.採択理由

先端的で極めて利用者の多いテキストエディタEmacsを対象として、いくつかのプログラミング言語を対象とした高精度コード補完機能を開発・配布するという提案である。これまで提供されてきたコード補完機能は、文脈や構文を考慮せず精度が低い、利用者を長く待たせるといった問題があった。それを解決し、世界中のプログラマの作業効率を高めることを目的とする。

プログラミング、コーディング支援技術の主戦場はEclipse等の高機能IDEに移った。とはいえ、特に先端的な技術者の間でEmacsの人気は根強く、そこでのプログラミング支援技術には大きな需要がある。

オーディションでは松山君のEmacsへの並々ならぬ愛情を感じた。ぜひ、Emacsを世界一のエディタたらしめるために現状欠けている、(まっとうな)コード補完機能を完成させて広めて欲しい。