FreeBSD Daily Topics

2011年3月29日FreeBSDスクリプト言語としてのLua

2011年3月19日と20日、東京理科大学森戸記念館においてAsiaBSDCon 2011が開催されました。東北地方太平洋沖地震の影響で講演者が来日できないなど、日程や実施方法を大幅に変更しての実施となりました。AsiaBSDCon 2011からいくつかのセッションを紹介します。

BSDLUA - evolved Unix scripting

Ivan Voras氏からはFreeBSDで採用する新しいスクリプト言語としてLuaを提案する内容の発表が実施されました。FreeBSDのベースシステムのコマンドの多くはC言語で開発され、シェルスクリプト(/bin/sh)でそれらを組み合わせるといった仕組みを採用しています。Ivan Voras氏はスクリプト言語として/bin/shではなくLuaを採用することで、より生産性を高めることができるだろうという内容でした。

Luaはプログラミング言語としての特徴を備えながら、Luaそのもののソースコードの量が少ないという特徴があります。まず、こうした軽量のツールはベースシステムにマージするための障壁が低いといえます。加えてBSDライセンスのもとで提供されているため、ライセンス的な問題もありません。ほかの言語と比べて学習が簡単という特徴もあるといいます。

/bin/shによるシェルスクリプティングはあくまでもコマンドを組み合わせるといったところに焦点がおかれており、データ型といった概念がなく、スクリプティングの善し悪しはスクリプトを組むユーザの技能に依存する面があります。LuaであればLuaが提供している機能を使ってそういった点を解消することができます。

Ivan Voras氏の提案として興味深いのは、libcをラッピングしてLuaスクリプトから利用できるようにする、というものです。Cプログラミングをすることなくスクリプトから直接libcが利用できるものとして興味深く、Cプログラミングと/bin/shシェルスクリプティングの中間を埋めるポジションに位置すると言えそうです。

Ivan Voras氏の提案がFreeBSD開発者やコミュニティで受け入れられるかどうかは、今後の展開しだいといえますが、Luaを使うことで得られる利点がはっきりしない限り、ベースシステムへの採用は難しいものがあるかもしれません。インストーラやPorts Collection管理ツールがC言語やほかのスクリプト言語から/bin/shへの作り替えが進められており、/bin/shの活用度合いは以前よりも増していますので、この状況からLuaに移るというのは、それなりの理由が必要になりそうです。

またシンタックスが/bin/shとは大きく異なる点も、Luaの採用を敬遠する理由になる可能性があります。しかし、Luaをシステムデフォルトのスクリプト言語にしてはどうかという発想は興味深く、FreeBSD向けの拡張など今後の開発が楽しみなところでもあります。

おすすめ記事

記事・ニュース一覧