検索
タグ
ASP.NET
.NET
ASP.NET MVC
Visual Studio
F#
Azure
ASP.NET Core
ライトニングトーク
Plone
Selenium
AJAX
C#
jQuery
SQL Server
JavaScript
ADO.NET Entity Framework
EFCore
WebMatrix
LINQ
Fizz-Buzz
カテゴリ
最新の記事
最新のコメント
記事ランキング
最新のトラックバック
以前の記事
2024年 11月 2024年 10月 2024年 09月 2024年 08月 2024年 04月 2024年 03月 2024年 02月 2024年 01月 2023年 12月 2023年 11月 2023年 10月 2023年 09月 2023年 08月 2023年 07月 2023年 06月 2023年 05月 2023年 04月 2023年 03月 2023年 02月 2023年 01月 2022年 12月 2022年 11月 2022年 10月 2022年 09月 2022年 08月 2022年 07月 2022年 06月 2022年 05月 2022年 04月 2022年 03月 2022年 02月 2022年 01月 2021年 12月 2021年 11月 2021年 10月 2021年 09月 2021年 08月 2021年 07月 2021年 06月 2021年 05月 2021年 04月 2021年 03月 2021年 02月 2021年 01月 2020年 12月 2020年 11月 2020年 10月 2020年 09月 2020年 08月 2020年 07月 2020年 06月 2020年 05月 2020年 04月 2020年 03月 2020年 02月 2020年 01月 2019年 12月 2019年 11月 2019年 10月 2019年 09月 2019年 08月 2019年 07月 2019年 06月 2019年 05月 2019年 04月 2019年 03月 2019年 02月 2019年 01月 2018年 12月 2018年 11月 2018年 10月 2018年 09月 2018年 08月 2018年 07月 2018年 06月 2018年 05月 2018年 04月 2018年 03月 2018年 02月 2018年 01月 2017年 12月 2017年 11月 2017年 10月 2017年 09月 2017年 08月 2017年 07月 2017年 06月 2017年 05月 2017年 04月 2017年 02月 2017年 01月 2016年 12月 2016年 11月 2016年 10月 2016年 09月 2016年 08月 2016年 07月 2016年 06月 2016年 05月 2016年 04月 2016年 03月 2016年 02月 2016年 01月 2015年 12月 2015年 11月 2015年 10月 2015年 09月 2015年 08月 2015年 07月 2015年 05月 2015年 04月 2015年 03月 2015年 02月 2015年 01月 2014年 12月 2014年 11月 2014年 10月 2014年 09月 2014年 08月 2014年 06月 2014年 04月 2014年 03月 2014年 02月 2014年 01月 2013年 12月 2013年 10月 2013年 09月 2013年 08月 2013年 07月 2013年 06月 2013年 05月 2013年 04月 2013年 03月 2013年 02月 2013年 01月 2012年 12月 2012年 11月 2012年 10月 2012年 09月 2012年 08月 2012年 07月 2012年 06月 2012年 05月 2012年 04月 2012年 03月 2012年 02月 2012年 01月 2011年 12月 2011年 11月 2011年 10月 2011年 09月 2011年 08月 2011年 07月 2011年 06月 2011年 05月 2011年 04月 2011年 03月 2011年 02月 2011年 01月 2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 08月 2010年 07月 2010年 06月 2010年 05月 2010年 04月 2010年 03月 2010年 02月 2010年 01月 2009年 12月 2009年 10月 2009年 09月 2009年 07月 2009年 06月 2009年 05月 2009年 04月 2009年 03月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 |
2011年 01月 15日
本日1/15(土)、@zecl さん講師による3セッションの CLR/H 第54回勉強会に参加してきた。
例によってライトニングトークにもお邪魔させて頂いたのだが、そのときのお題がこれ。 SkyDrive に配置した .ppt はこちら。 ということで、F# をスクリプト言語として使う話である。 背景ITプロとしての様々なタスクの自動化の手段として、現在前面に押し出されているのは Windows PowerShell だと思う。しかしいっぽうで、C# などの .NET 言語でも、同じタスクを遂行可能である場合も多い。 たとえば、ディレクトリサービスに対する追加/変更/削除や検索などは、実は .NET Framework でも容易に実装可能である(下記参照)。 msdnマガジン 2008 January 「NET Framework 3.5 でディレクトリのセキュリティプリンシパルを管理する」 http://msdn.microsoft.com/ja-jp/magazine/cc135979.aspx となれば、普段使いなれた .NET プログラミング言語で IT プロタスクの自動化も実装すれば効率がよい。 問題しかし、じゃぁ、C# でそういったタスクの自動化を実現しましょう、といったときに障壁がひとつ。ビルド、である。 大抵がそういうタスクの自動化はえてして小粒なものであり、これまでは、WSH ( Windows Script Host ) による JScript ( .js や .wsf ファイルなど ) や、古典的バッチファイル ( .bat や .cmd ) で済ませてきたようなものだ。 それを、じゃぁ C# でやりましょう、となったときに、ソースコードの管理、という問題が発生してくるのである。 いちいちリポジトリに登録するのも大仰。 だが、かといって自分ひとりで保守するとは限らないので、やはりソースの共有は必至である。 しかしソース管理に載せてしまうと、そういった小粒のツールをちょちょっとバグ修正や改造するのに、いちいちリポジトリから取ってこなくてはならず、気楽さがない。 .js や .bat なら 1 ファイルで済むところが、やれ .cs だ .csproje だ、.sln だ、と扱うファイルがいっきに増えるのも気に入らない。 スクリプトとしての.NET言語つまり、.js や .bat と同様に、ファイル1本で動作する、いわゆる "スクリプト言語" 的に振る舞える .NET 言語や実行環境があればよいのだ。実際、C# をスクリプト言語的に使おう、ということでいくつか選択肢はある。 下記などは非常に興味深い。 Yaneu Labs C#をスクリプト言語として使う http://labs.yaneu.com/20101017/ mono プロジェクトでも、C# の対話シェルを作ってる。 CSharpRepl http://www.mono-project.com/CsharpRepl @ufcpp さんが、PDC で本家 Microsoft での対話シェル実装の動向を教えて下さった。 http://twitter.com/ufcpp/statuses/20482313812971520 対話シェルにファイルをロードさせて実行できる .NET 言語、ということであれば、IronRuby や IronPython なども選択肢になると思う。 ここで F# 登場!と、ここで急浮上してきたのは F# だ。そう、F# には、はじめから対話シェル fsi.exe が備わっているのである。 もっとも、対話シェルがあるというだけでは前述の処理系でも同じこと。 差が出てくるのは、拡張子 .fsx のファイルだ。 Visual Studio 2010 Pro をインストールすると、なんと、拡張子 .fsx に対して、VS2010 と fsi.exe とがそれぞれ関連づけされているのだ。 エクスプローラ上、ファイルの種類には "Visual F# Script file" と表示される用意周到さである。 エクスプローラ上でこの .fsx ファイルを右クリックし [Run with F# Interactive...] を選ぶと、この .fsx ファイル内に記述した F# コードが実行される。 なるほど、まさしくスクリプト的だ。 だが前述の処理系と決定的に違うのは、VS2010 での .fsx に対するサポートの手厚さだ。 エクスプローラ上でこの .fsx ファイルをダブルクリックすると、VS2010 のコードエディタでこの .fsx が開いて編集可能となる。 ここまでは、まぁ、普通である。 なんと、この状態で、インテリセンスが効くのだ。 もちろんコードハイライトなんぞは当たり前に機能している。 さらにすごいのは、リアルタイムでエラーも表示してくれるのだ。 こんなにも手厚い VS2010 のコードエディタの支援が受けられるのである。 言語仕様的にも F# はスクリプトっぽさが盛りだくさんである。 Main とか無用で、いきなりコード本体を書き始められるのも、.js や .bat と同じで小気味よい。 コンソール出力も、Console.WriteLine などと長ったらしくグダグダ書かずに printfn でビシッとシンプルに記述できる。 しかも β とか CTP とかじゃなくて、RTM、製品版なのだ。 まさしく、スクリプト的.NET言語は、もうすでに、手の届くところにあったんだ! という次第である。 ※ライトニングトーク中で使用した、サンプルの .fsx ファイルも SkyDrive に Upload しておきます。
by developer-adjust
| 2011-01-15 21:28
| .NET
|
ファン申請 |
||