Windows Power Shell(WPS)をちょっと触ってみました。
Vista用のシェルだと思ってたら、XP用のも出てるのですね。知らなかった。
巷でWPSはWSH(Windows Scripting Host)の後継と言われているようですが、
ちょっと触ってみた感じだと、その2つはそもそも目的が違うように感じます。
WSHは、その名の通り、VBScriptやJScriptなどをWindows環境で実行すると同時に、
それらのスクリプト言語に対して統一されたホスト環境を提供するのが目的だと思います。
そのホスト環境にシステムを触る(ファイルやレジストリ、COMオブジェクトなど)機能が
あるので、Windowsの定型処理の自動化、要するにUnixの「シェルスクリプト」に近い役割、
にも使うことが出来ますが、あくまで主眼は「スクリプト言語のホスティング」にあるように感じます。
対してWPSは、やはり名前の通り、「シェル」であることに特化しているように見えます。
WPSの構文仕様は極めて制限されたものであり、JScriptなどの表現の多彩さには到底かないません。
その代わり、WPSでは「オブジェクト指向パイプ」を提供し、システムに関する種々の操作を
はじめ、色々なコマンド、さらに .NET Frameworkのもつ殆ど全ての機能を、簡単な構文で組み合わせて
使うことができるように設計されているようです。
つまり、WPSは最初からWindowsの定型処理の自動化を主眼として作られたものに見えます。
逆に言うと、WPSは長い複雑なコードを書くには向いていなさそう。
そういう意味では、WPSこそUnixのシェルスクリプトに近い存在に見えます。
つまり、言ってみれば Perl と Bash のようなもので、そもそも比較するものではない気がします。
名前も「スクリプティングホスト」と「パワーシェル」ですし、Microsoftもその辺を意識して
それぞれを作ってるのかなー、と思っていたんですが…
WPSができたからWSHは開発終わり*1、という話があるようで、おや?と首を捻っている状態。
*1:ソースがわからないのですが知ってる人は教えてください