F#をはじめる

いんとろだくしょん

関数型プログラミング」が最近、流行一位になったので(※脳内)、ちょいと調べてみました。というのも、「Haskell」(ハスケルと読むらしい)について書いてある記事を読んだからなのですが、調べていくウチに「F#」とかがあることを知りました。名前から想像つくと思いますが、この「F#」、Microsoftが開発したもので、当然Visual Studioでも動くとか。なら、関数型言語の触りとしては、これっきゃないでしょ、という訳で「F#」を触ろうと思った次第です。

ちがいがわかるかな?

さて、「関数型言語」とひとくくりにいっても違いはあるわけで。とりあえず大きくわければ、「純粋関数型言語」と「非純粋関数型言語」と分かれているらしい。まだ、違いはつかめていませんが、wikiによると、「純粋関数型言語」は「簡潔にいえば、変数がなく定数しかない。」そうです。むぅ、そうなるとどうなるんだ?想像つかないなー。
まぁ、それはさておき、先に名前を挙げた2つの言語の分類は以下の通り。

どちらも知らないオイラとしては「F#」が「非純粋関数型言語」(なんか響きが悪いなぁ…)という事で、やっぱりとっつきはまだマシかなと思うのでした。(甘いかもしれませんが)

はじめてのいんすとーる

というわけで、まずは開発環境を整えていきましょう。ここでは、"Visual Studio"での開発環境の構築を説明します。ただし、Express Editionでは現状F#の開発は出来ないようなので、Express Edition環境でやろうと思ってた方は諦めて「SharpDevelop」を使って下さい。そちらでもF#の開発は出来ますので。

Visual StudioでF#を使う為には、まずはコレをインストールする必要があります。先にF#が入っていると駄目なようなので、その場合はF#を先にアンインストールしてからインストールするようにしてください。
ダウンロード

  • F#

次に、F#本体をインストールします。090807の現時点で、バージョン"1.9.6.16"が最新のようですが、これ以前のバージョンがインストールされている場合は、アンインストールしてからインストールするようにしてください。
ダウンロード

Express Edition以外使えねぇよ!( ゚Д゚)コルァ、という人はこちらのSharpDevelopをダウンロードしてください。SharpDevelopは無償配布されているフリーの.NET統合開発環境です。デフォルトでは日本語はサポートされてませんが、有志の方が日本語化対応してくれているので、そちらを使えば日本語化できます。こちらと上述のF#本体をインストールすればプロジェクトの作成時にF#が選べるようになってます。多分。(動作の確認はしましたが、元の状態とかは知らないので違いとしてはわかりません。スミマセン!)
ダウンロード
日本語リソースダウンロード


※追記
Microsoft Visual Studio 2008 Shell (integrated mode) を使えば、無償でVisual Studio上でF#の開発環境をセットアップできるようです。Visual Studio 2008 Shell は何の言語も入っていないVisual Studio2008で、これにF#をインストールする事で、F#が組み込まれるそうです。
Visual Studio 2008 Shell (integrated mode) Service Pack 1
参考:Gushwell's F# Programming Diary

ちゅーとりある


さぁ、F#を触ってみよう!という事で、新規にプロジェクトを作成。なになに?アプリの開発に、ライブラリの開発に…チュートリアル!?よいではないか、まずはこれに決定だな!さすがマイクロソフト。粋な事をやってくれるじゃねぇか!という事で作成。
…え〜、チュートリアルというかサンプルコードでした。これは日本とアメリカでの言葉のニュアンスの違いなのかな?チュートリアルといったら、もっと説明があって云々みたいなのを思うじゃない。まぁ、いいや。気をとりなおしてサンプルコードを見てみる。ふぅん、色々な型の変数の宣言方法や、演算の記述方法等が書いてありますね。参考になります。ただ、量はそれほど多くないので、もっと学びたい方は以下のサイトを見れ、との事。


これで、開発環境の構築とサンプルコードはゲットしたのでとりあえず満足。明日以降は、定番の"Hello,world"をやろうと思います。基本って大事だよね!