Umatani Seiji
馬谷 誠二 准教授
Profile
出身地/滋賀県
趣味/映画鑑賞、読書
好きな映画/『レナードの朝』
プログラミングならノートパソコンが一台あるだけで、壮大で複雑なモノづくりに挑戦することができます。
プログラミング言語を機械語に変換する「言語処理系」の研究
コンピュータサイエンスのなかでも、特にプログラミングやプログラミング言語について研究しています。
PythonやJavaといった「プログラミング言語」は、私たちがコンピュータで実行したいことをコンピュータに命令するための合言葉のようなものであり、人間とコンピュータをつなぐ「言語」です。しかし、実はプログラミング言語によって書かれた文字列だけでは、コンピュータは動いてくれません。なぜなら、コンピュータは数字の「0」と「1」のみを使った電気信号(機械語)によって作動しているからです。英字や記号の文字列でできたプログラミング言語は、そのままでは読み取ることができないのです。プログラミング言語によって書かれたものをコンピュータでの処理に適した機械語に変換するソフトウェアを「言語処理系」と呼びます。私の主な研究テーマは、こうした言語処理系の最適化や実装です。プログラミング言語で書かれたプログラムの解析手法を確立したり、効率的な形に変換したりする研究です。一般的な言語で言うところの「翻訳」の過程に近い分野かもしれません。
また、既存のプログラミング言語に対して、新たな機能を付与してもっと使いやすくするといったような、「プログラミング言語の設計」と呼ばれる研究にも長年取り組んでいます。プログラミング言語をより使いやすく、より効率的に使用できるような技術やツールを開発できればと思っています。
プログラミングを使って「PC上の空論」を繰り返してほしい
私が担当している「プログラミングB」という科目では、中級程度のプログラミングを教えています。プログラミングの入門というよりはその一段上のイメージで、それぞれの言語における表面的な記法の違いやIT業界の流行りなどに左右されることのない、プログラミングのより本質的な部分を学んでもらえるように心がけています。
理論や知識をただ聞いているだけでは、実際にプログラムを書けるようにはなりません。演習を繰り返すことがとても大事なのです。授業では、演習に多くの時間を割き、自らの手を動かしてプログラムを書く経験を積んでもらうようにしています。
プログラミングの面白さは、ノートパソコンが一台あるだけで、努力次第でとても壮大な「モノづくり」に取り組めることだと思います。私はペーパークラフトなどを趣味で嗜んでいるのですが、一から複雑なプログラムを構築していく作業には、そうしたモノづくりと同じ難しさと達成感があるはずです。建築よりはよっぽどリーズナブルに挑戦できますし、つくったものの動作をすぐに確認できるのが面白いですよね。
ソフトウェアを開発するといった大掛かりなことだけでなく、例えば時間割表をつくったりホームページをつくったり、プログラミングを使えばさまざまなことに挑戦できますし、思考の実験にも役立つはずです。「机上の空論」というと否定的なニュアンスで受け取られがちですが、プログラミングを思考と設計の手段にした「PC上の空論」を、ぜひ駆使できるようになってほしいと思っています。
プログラミング言語論研究室
プログラミング言語に関する研究
プログラミング言語の設計および実装全般に関わる研究を行っています。具体的には、(1) 分散・協調計算に用いるプログラミング言語、(2) 安全性・信頼性を考慮したプログラミング言語や、ドメイン特化言語の設計を行ったり、動的言語のためのプログラム解析手法や、あらたな言語処理系開発用ツールの提案なども行っています。また、他大学の研究者とも連携し、並列・分散環境上で効率良くプログラムを実行するための処理方式に関する研究も進めています。
Photos
地域課題
SDGs・地域課題について