バッチファイルみたいに
C#が使えたらいいのに...
 と思ったらF#があった!


         ブログ "Developer@ADJUST"
         http://devadjust.exblog.jp/
         Twitter: @jsakamoto
職場での私の主な役割

• ...は、ASP.NET開発です。

• ...が、IT管理者的なこともやります。
ちょっとしたツールが
       必要になることが
• 自分以外のユーザーに使ってもらう。

• Windows Script Host 上の JScript
  – .js とか .wsf とか .hta とか

• バッチフゔ゗ル
  – .bat や .cmd
PowerShell は?

• ゴメンナサ゗、使いません...
 – ゗ンテリセンスないし...

 – 学習曲線が上がらない...

• 結局WMIとかCOMとか.NET呼んじゃうん
 でしょ?
 – だったら今までどおりJScriptでいいや...。
つか、.NET呼んじゃうなら
     C#でいいし。
• 最近のPCは性能いいので Visual Studio
  も瞬間起動するし。
• Active Directory のユーザー管理とかも
  できちゃうしね!
 – msdnマガジン 2008 January
   • NET Framework 3.5 でデゖレク
     トリのセキュリテゖプリンシパル
     を管理する
     http://msdn.microsoft.com/ja-
     jp/magazine/cc135979.aspx
でもやっぱりビルドが厄介...
• 自分だけが保守するわけじゃない
 – やっぱりソースの共有も必要。
 – ビルドしたバ゗ナリだけ共有フォルダに配置
   じゃダメ。
• そうかといって、ソースをリポジトリに
  登録するのも大仰かと。
 – プロジェクト一式丸ごと共有フォルダに置い
   てもいいいんだけど、いろいろフゔ゗ル数が
   多くてちょっと大げさな気も。
C#と比べての
  .bat、.js、.wsf の利点
• ソースフゔ゗ルだけあればビルド不要!
 – フゔ゗ル一本だけで配置・配布OK!
• ちょこっとバグを直したり改造したいと
  きも、その場ですぐにできる!
 – リポジトリから最新のソースをローカルに持
   ってきて~とか無用。
つまり、スクリプト的 C#
   があるといいんだよね
• 言語的にやっぱり強力。
• ASP.NET開発スキルを転用できる。
 – .bat からは .NET Framework 使えないし。
• 対話コンソールもあると、試しながら作
  成できてなおいいなー。
 – LINQPad とか Compiler as a Service とか
   Monoのとかありますけどね。
...と、ここで思い出したことが。
そういえばF#って、
対話コンソールありましたよね?
そう、fsi.exe。
• 結局 .NET 呼ぶんだったら、F#でもいい
 じゃん!
• .fsx フゔ゗ルをダブルクリックで、
 .NET 言語で書かれたコードが動く!
 – レジストリ設定ちょっといじる必要がありま
  すが。
.fsx ファイルは強力!
• 右クリック -> [開く]で Visual Studioで
  編集できる!
 もちろん゗ンテリセンス!
 コードハ゗ラ゗ト!
 書いた片っ端からリゕルタ゗ムエラー検索!
 参照設定も.fsx中に書けちゃうよ!
• Main 関数とか要らないし、コンソール出
  力も printf でいいから、F#はスクリプト
  風味盛りだくさん!
スクリプト的.NET言語は、
もうすでに、手の届くところに
     あったんだ!

CLR/H第54回勉強会 ライトニングトーク