PowerShell コンソールは案外デフォルトシェルとして実用になるかも

偶然間違えて気付いた…。

PowerShellコンソールを開きっぱなしのまま、しかも「cmd.exe⇒MSYS の bash.exe⇒PowerShellコンソール」という流れで起動していたPowerShellコンソールで、ついいつもの癖で python と打ち込んで、何の変哲もなく動くことに、今更ビックリした。

なんだよ当たり前じゃないか、って? いや…。「シェルのようなもの」を、一度でも自作してやろうと思ったことがあるエンジニアなら、きっとわかるはずなんだ。シェルはやはり特殊で難しいプログラミングを必要とするんである。GUI プログラムが稀にスクリプト言語の対話モードを提供してることがあるが、あまり使いやすいものが多くないのは、そう、実現が厄介だからなの。

だから iPython Notebook とか、今の Python 本家公式サイトとかみるとひらすら感動しちゃうのよねぇ。

以下動画では、python、iPython、MSYS の bash の起動を試みてみた:

すんなり動いてるね。

「~をログインシェルとして使う」という発想って、昔からよくあって、古くは perl、python についても、記憶だと Guido が書いた Python 本で書かれてたと思う。そうなんだけどね、やっぱり「コマンドの逐次呼び出しだけに長け」ているのが、やはり「シェル」と呼ぶに相応しいのであって、つまりは、「import os ; os.system(“ls”)」なんて鬱陶しくて仕方がないでしょう、てことで、さすがに「python をログインシェルにしてしまえ」なんて、誰も考えない。

で、iPython はかなりいい線行ってると思うんだね。「!」が余分なだけだから、そう苦痛でもない。それから考えると、PowerShell コンソールってば、あー、これぞ「シェル」な。ひょっとしたら、一番最初に「cmd.exe」から始める癖をやめても良いかもしらん。