未踏に採択された、2006年頃。西村:未踏に採択されたっていうのは、未踏ソフトウェア創造事業に採択されたってことですね。OSにSchemeのシェルを作るっていうテーマ。西村:その時にはまだ言語処理系はなかった。西村:じゃあ、もともとシェルを作る目的があって、だったらSchemeでやりたいって言う。蓑輪:それはまた後継のもので、その時はまだ名前のないただ普通のシェルで作ってました。西村:ちなみにそれ完成?蓑輪:一応完成したんですけどなんかいろいろ反省点があって、例えば選択したデザインがあまりよくなかったのでそんな早く動かなかったり。テクニカルにいうと、インタープリターを木をたどるようなインタープリターにしてしまって、VMにしなかったんですね。実行が遅くてそこがすごく気になったりとか。あとはシェルとしてのAPIデザインを初めてやったので、その辺がまずい設計がいろいろあったって反省があってその後、Moshって言う新しい物を作った。西村:そのMoshは言語処理系であり、シェルにもなる。Rubyを使ったシェルはなぜ登場しないのか西村:ちょろっとしか使った事なくてわかってなかったんですけど、またディープな話なっちゃいますけど、興味がある方いらっしゃると思うのでちょっとその辺ももう少しお伺いしたいんですけども。Schemeを使ったシェルとか、Rubyを使ったシェルとか、必ず皆考えることで。シェル嫌ですよね、なんかいろいろ。なんで無いんですかね、未だに。西村:やられてたからこそ難しさがお分かりになってると思うんですけど。蓑輪:根本的な問題は、すべてのOSにプリインストールされていないのが問題だと思っていて。本当のベーシックなシェルとかbashとかって、どのLinuxディストリビューションにもOS10にしても、下手したらWindowsにも後からいれれば簡単に入るような感じ。皆それを当てにしてシェルスクリプトが書けるんですけど、今から新しいRubyで動くシェルを作っても、それが例えばDebianに最初から入ってるかUbuntuに最初から入ってるかっていうと入ってなくて、じゃあそれ使えないよねって話になっちゃうのが一番の問題なのかな。西村:でも何か最近だと、開発者の方でコマンドラインやってらっしゃる方はZシェルとか使ってらっしゃって、結局入れてるじゃないですか。シェルスクリプトと、開発者とかユーザとかが使うインタラクティブなシェルとは、ちょっとニュアンスが違うのかなって気がして。インタラクティブな方だとパイプをつなげたり、またはxargsなんかオプションだとかややこしいですよね。かけたら良いのになとか思ったりしますけど、その辺でも可能性無いですか。蓑輪:もちろんあると思います。そのパイプとかの話はOSとしての思想の話なので、つまりLinuxとかUNIXの思想としての話なので、使わざるを得ないというか。インターフェースを変えても結局パイプっていうものはなくせないと思うので、その辺は若干は残ると思います。(5/5)「これを読まねばプログラマーではない」Twitterエンジニア蓑輪氏おすすめの名著2冊と、技術書の読み方スピーカーの話が良かったらいいねしよう!参照リンクTwitterの日本人エンジニアに聞く、世界に通用するハッカーになるにはhttps://www.youtube.com/watch?v=RXKCczyE4d0Twitterの日本人エンジニアに聞く、世界に通用するハッカーになるにはTwitterの日本人エンジニアに聞く、世界に通用するハッカーになるにはに関する記事をまとめています。コミュニティをフォローすることで、Twitterの日本人エンジニアに聞く、世界に通用するハッカーになるにはに関する新着記事が公開された際に、通知を受け取ることができます。