しばたテックブログ

気分で書いている技術ブログです。

CLR/H #103 ~ クリスマス オブ ザ デッド ~ でPowerShellをふりかえりました

先日、通称カソウ化デイことCLR/H #103 ~ クリスマス オブ ザ デッド ~で「PowerShell 10年間ふりかえり」というタイトルでPowerShellについてお話させていただきました。

clrh.connpass.com

本エントリはPowerShell Advent Calendar 2016 18日目のエントリも兼ねています。

セッション内容について

セッション資料

セッション資料はこちらになります。

30分のセッションでしたが、かなり駆け足で進めてしまったためお聞き苦しいところが多々あったかと思います。
申し訳ありません。精進します。

1. PowerShell 10年間ふりかえり

最初はPowerShellの歴史と機能を追いかける感じの内容にしました。

歴史についてはPowerShell 2.0からですが、最初に新しいOSに標準で組み込まれ、その後他のOSに対してWindows Management Framework(WMF)を提供するというかたちになっています。
このため正確なリリース日を追いかけるのが少し面倒で、資料によってはOSのRTMをもってPowerShellのリリースとしてるものも存在しています。

そして、各バージョンにおける機能の詳細については参考資料に上げたサイト(一部このブログのエントリも交じってますが...)を見て頂く方が良いかと思います。

2. これからのPowerShell

PowerShellはOSSになり、GitterやSlackのチャネルもでき、RFCも募集する様になり情報がオープンになりました。
セッション中では一応予測を立てましたが、正直なところを言うと、実際に生の情報に触れてみるほうが下手な予想より余程役に立つと思っております。

ですので、ぜひ実際にGitHubにアクセスして新しいPowerShellを試す、IssueやGitter、Slackに参加してみてください。
(わたしもできる限りでがんばります...)

PowerShell

github.com

Gitter

gitter.im

Slack

http://slack.poshcode.org/slack.poshcode.org

PowerShell RFC

github.com

3. 誰のためのPowerShell

最後はポエム要素ありと注意書き入れた様に、割と個人的な想いについて述べています。

PowerShellがオープンソース・クロスプラットフォーム化したのと同時に「PowerShell for every system!」という標語が挙げられました。
実際にこれからは色々なプラットフォーム上でPowerShellが動き標語の通りになると思います。
ただ、プラットフォームを選ばなくなったからといってみんなが使うべきものなのか、「PowerShell for everyone」になるだろうか、という疑問がここで言いたいことの原点になります。

この点に関してはPowerShell TeamやMicrosoftとしての思惑もあるでしょうし、人によって答えは変わるかと思いますが、私はPowerShellは万人向けでないと考えています。

理由としては、今のところPowerShellはサーバー管理や自動化といった目的に特化したツールであるという点になります。
目的に特化しているので目的外の利用をしようとすると割とすぐハマりますし、ハマる以上は万人向けではないと思います。
PowerShellの機能自体はかなり強力なので目的外であっても無理をすれば大抵のことはできてしまいます。
頑張れば何でもできるという点をとれば万人向けと言えるかもしれません、が、私としてはそれは無理筋だろうと考えています。

しかしながら、PowerShellは万人向けでないと言いましたが、目的に合わない人はPowerShellに触れるべきではないとまで言う気はありません。

PowerShellは(バージョンを問わなければ)大抵のWindowsに標準で搭載されており、だれでもすぐに使うことが出来ます。
LinuxやMacであってもパッケージ管理ツールから簡単にインストールできる様になりました。

使ってみないと目的に合っているか分からないこともあると(むしろそっちの方が多いかと) 思います。

個人的な想いとしては万人にPowerShellに気軽に触れてほしいと考えています。

ちょっと触れてみて、目的に合えばそのまま使ってほしいですし、合わないと思えば無理をせずにすぐにほかのツール(代替はたくさんあります)に切り替えれば良いと思います。

(補足)PowerShell と Bash

PowerShellの代替のひとつであり、PowerShellとよく比較されるBash on Ubuntu on Windowsについても軽く触れました。
細かい内容については以前に発表したLTの内容をベースとしているので、以下のリンクから内容を確認していただければと思います。

stknohg.hatenablog.jp

(補足)PowerShell と コマンドプロンプト

こちらに関してはかなり誤報が広まってるのであえてセッションに混ぜました。
細かい話はこちらをみてください。

stknohg.hatenablog.jp

最後に

拙い発表でしたが言いたいことは言えたので満足はしています。

他の方のセッションやLTもどれも面白いものばかりで、カソウ化デイ、本当に楽しかったです。