森畑研究室
東京大学教養学部 学際科学科 総合情報学コース
東京大学大学院総合文化研究科 広域科学専攻 広域システム科学系

研究目標:プログラミングに産業革命を
 現状、プログラミングは専門的な修練を積んだ人による技能となっています。言うなれば、全てが職人による一品物です。これほど情報技術・機器が一般的になった世界で、これで良いのでしょうか? マニュアル通りにやれば誰でもできるような、そういう生産技術があってこそ、プログラミングは本物の「産業」たりえるとは思いませんか?
 本研究室では、誰でもできるプログラミングを目指して、プログラミングの基礎理論、およびその応用について研究しています。
本研究室のアプローチ
 本研究室では、プログラミング教育や統合開発環境(IDE)などの改善を目指しません。そのような発想は、服飾産業で言えば針や糸を改善するようなものです。産業化に真に必要なのは「産業機械」、例えばミシンです。スイッチひとつで自動的にほつれ止めも飾り縫いもしてくれて、マニュアルを読めば誰でも操作できる。そういう「産業機械」がプログラミングには圧倒的に不足しています。
 プログラミングのための産業機械のために、本研究室では以下の3点を中心に研究を行っています。 参考:
森畑による講演動画(2022年)
森畑による講演動画2(2013年)
本研究室所属学生の研究成果
対外発表
修士論文
卒業論文
本研究室に向いている人・あまり向いていない人
 本研究室には、現状のプログラミング・プログラミング言語に疑問・不満のある人が向いています。逆に、現状のプログラミングに不満のない人、自由にプログラミングができている人はあまり向いていないかもしれません。
 プログラミングの研究をする以上、現状を知るという意味で、プログラミング言語等について一定の知識が必要です。しかし、高いプログラミングスキルや個々のプログラミング言語についての詳しい知識などは、あればそれに越したことはありませんが、必須ではありません。
 プログラミングに関する技術をソリッドに組み立てるためには、最終的には数学が必要になります。どの程度の数学が必要かは研究テーマやアプローチによりますが、数学アレルギーの人にはあまりお勧めできません。逆に、数学は好きだが純粋数学よりも数学の応用を探求したい、という人は楽しめる可能性があります。
研究テーマ例とそれに関連する文献
以下に典型的な研究テーマ例を挙げますが、これらに限らず、プログラミング・プログラミング言語にまつわる研究テーマであれば広く扱っています。
プログラムの自動並列化 p
プログラム変換 p
プログラム自動合成 p
宣言的プログラミング p
プログラム運算 p
(参考:森畑の研究テーマ候補リスト
本研究室で扱うテーマの範囲
 本研究室のテーマは原則として「プログラミング」であり「ソフトウェア開発」ではありません。つまり、(往々にして巨大な)ソフトウェアの開発というプロジェクト全体ではなく、ソフトウェアを構成する(往々にしてそれほど大きくない)各部品の開発を扱います。
 本研究室は、標準的な(ないしはそれに満たない)技量のプログラマが書くようなプログラムを対象とします。高度な技術をもつ職人が作成するような、本物の「一品もの」の開発は扱いません。例としては、気象予報やスペースシャトル制御のように非常に高い性能と信頼性が必要なもの、富嶽コンピュータのような特別なアーキテクチャに特化したものなどです。
研究室に参加したい方へ
<研究室に参加したい方へ (How to Join Our Laboratory)>
関連研究室

<back>
Akimasa Morihata. Aug., 2022