未踏プロジェクトダッシュボード

IPA未踏事業 プロジェクト一覧

修正・お問い合わせはこちら
一覧に戻る
2021年度未踏IT

シェルスクリプトへのコンパイルを行う静的型付けスクリプト言語の開発

プロジェクト概要

POSIX規格に規定されたシェルスクリプトは、多くの環境で動作する非常にポータビリティの高いスクリプト言語であり、そのポータビリティから広く開発者に配布するスクリプトなどの用途に適しており、実際にそのような目的で多く利用されている。しかしながら、シェルスクリプトはあくまで補助的に利用される言語であり、シェルスクリプトを書く開発者もそれを専門としているわけではない事が多い。さらにシェルスクリプトは古い言語であり、一般的なプログラミング言語とは異なった構文を持っていることから記述するのが難しく、生産性を低下させており、バグの原因にもなっている。

本プロジェクトでは、現代的なプログラミング言語に近い構文と機能を持つシェルスクリプト言語を開発する。この言語は POSIXに規定されたポータビリティの高いシェルスクリプトへの変換を行うことによって、書きやすい言語でありながら、POSIX準拠のシェルスクリプトと同等のポータビリティを実現する。これによって開発者はポータビリティの高いシェルスクリプトを簡単に書くことができるようになり、ポータビリティがより高いスクリプトの配布が促される効果が期待できる。

また、近年では多くの言語で採用されていながらシェルスクリプトでは利用できなかった静的型検査の手法を採用することで、より安全でバグの少ないスクリプトを書くことが可能となり、生産性も向上することが期待できる。

採択理由

近年CI・DevOpsが各開発運用現場に適用されているが、そこで使われているのはシェルスクリプトという古い言語のままである。bashや高級シェルを前提とするOSもあるが、Dockerで使われているAlpine Linuxではバイナリサイズの小さいashが標準で、シェルの持つ機能が少ない。

シェルスクリプトは互換性を意識すると便利な拡張機能は使えず、プログラマにとっては非常につらい書き方をしなければならない。JavaScriptのBabelのように拡張性の高い文法で書けて、実行のバックエンドは古い互換性の高い言語にトランスパイルするような言語拡張環境をシェルスクリプトの世界で実現できることを期待している。

PM

竹迫 良範

株式会社リクルート データプロダクトユニット ユニット長

クリエータ

矢尾田 貴大

Pianoforte 代表

採択金額

2,736,000

成果報告会

関連リンク