今、F# で関数型プログラミングをはじめるなら
F#をはじめてみたい人向け、2015年初頭現在の言語関連情報への参照をまとめてみます。 おおむね日本語です。
オンラインドキュメント
- F# 言語リファレンス
- 困ったときのMS公式。よく参照しています。
- いきなり全部読もうとするとかなりヘビーなので、他の記事や書籍と合わせて徐々に読むのもいいと思います。
- F# コア ライブラリ リファレンス
Microsoft.FSharp.Collections
名前空間以下、Array
/List
/Seq
あたりはよく使う割にすぐ忘れるので、特に参照します。
入門系Webサイト・記事
- F#で初めての関数型プログラミング - @IT
- bleisさんによる2012年の記事です。
- F#の特徴を掴むにはちょうどよく、分量もさほど多くないので、ひとまず一通り眺めておくと良いと思います。
- F#入門
- よくまとまっている入門サイトです。
- 多少情報が古いところもありますが、現在でも十分有用です。
- 初めからMS公式の言語リファレンスでは辛い場合、書籍を買うにはためらう場合に。
C#er向け
既に同じ.NET系言語であるC#をやっている方は、このあたりを見ておくとスムーズに理解できるかもしれません。
書籍
実践 F# 関数型プログラミング入門
- 作者: 荒井省三:いげ太
- 出版社/メーカー: 技術評論社
- 発売日: 2011/01/07
- メディア: 大型本
- 購入: 6人 クリック: 264回
- この商品を含むブログ (26件) を見る
- 日本語F#文献の事実上のスタンダードのような印象があります。
- 正誤表もあるようなのでリンクしておきます。
プログラミングの基礎 (Computer Science Library)
プログラミングの基礎 (Computer Science Library)
- 作者: 浅井健一
- 出版社/メーカー: サイエンス社
- 発売日: 2007/03
- メディア: 単行本
- 購入: 17人 クリック: 409回
- この商品を含むブログ (110件) を見る
- 関数型プログラミング全般に通じる方法論が学べます。オススメです。
- 本書で取り上げられているのはOCamlですが、基本的な文法面では大差ありません。
- Webに著者の授業紹介スライド・動画がアップされています。必見です。: 「プログラミングの基礎」用ビデオ
これらの他にもオライリー本(プログラミングF#)などがありますが、私は未読です……。
開発環境
Windows
- Visual Studio 2010以降なら、標準でF#が扱えます。
- 今の最新で使うなら、Visual Studio Community 2013 + Visual F# Power Toolsがお勧めです。
- 実行環境は、.NET Framework 2.0以降となるのでしょうか。
- 参照: F# 再頒布可能パッケージ
- 基本的には.NET 4.0以降を前提とするのがトラブルがないと思います。
Mac, Linux
- エディタは、IDEならXamarinStudio、それ以外ならEmacsのfsharp-mode、Vimのfsharpbindings-vim等があります。
- Advanced IDE For iOS & Android Programming - Xamarin Studio
- fsharp-mode
- fsharpbindings-vim
- 何れにせよ、現在のところWindows + Visual Studioの方が、確実にラクです。
- 実行環境はMonoと呼ばれるオープンソース版.NET Frameworkコピーになります。
- 将来的には今後MS公式のサポートにより、このあたりの状況は変わっていきそうです。
- 2014年11月発表: MSの今回の発表で何が起こるのか、の私的感想 - 亀岡的プログラマ日記
コミュニティ
- F# Software Foundation
- 2014年12月に正式に非営利団体として発足したばかりの、F#公式組織です。
- さまざまな情報がそろっているので、英語に強い方は眺めてみるのも良いでしょう。
- メンバー募集中だそうです。無料会員の種別でも、とりあえず登録しておくといいんじゃないでしょうか。
- 特に言語の発展に物申したい人(組織)は有料会員になるとよい、ということだと思います。
- F# Weekly | Sergey Tihon's Blog
- 英語ですが、週刊で最新のF#情報がまとめられています。
- F# Advent Calendar 2014 - connpass
- 日本語で書かれた色々なブログ記事が読みたい場合、過去に開催されたAdvent Calendarを見てみるのもオススメです。
- F#談話室 - connpass
- 都内で定期的に開催されている、F#の勉強会*1です。
- 次回は2015年2月14日(土)開催です。
- Twitterなら#fsharpや#fsugjpあたりを見ると良いんじゃないでしょうか。
- 何か困ったときはハッシュタグを付けて質問すれば誰かしら答えてくれるかも……?
といったところで、今回は以上です。
*1:勉強会のような、そうでもないような、ゆるい集まり