F#(エフシャープ)について
F#は、
マイクロソフトが開発した
.NETプラットフォーム用のマルチパラダイム
プログラミング言語です。この言語は2002年に始まり、主にドン・サイム(Don Syme)を中心としたチームによってOCamlをベースに開発されました。F#は、その名称が示す通り、関数型プログラミング(Functional programming)を重視しており、オブジェクト指向プログラミングとも統合されています。
F#は、Visual Studio 2010以降、標準的な開発言語として組み込まれ、多くの開発者に支持されています。この言語の特徴の一つは、型安全性が高く、型推論を利用できる点です。しかし、F#はオーバーロードをサポートしているため、OCamlが持つ完全な型推論の特性は一部失われています。
F#はC#やVisual Basic
.NETなど、他の
.NET言語との相互運用性を持っており、
.NETクラスライブラリを有効に活用することができます。また、F#はMonoやXamarinを使用することで、Android向けのアプリケーション開発も可能です。以前はSilverlightを活用したWindows Phone 7向けアプリの開発もサポートされていました。
F#の「F」は関数型
プログラミング言語(Functional programming language)およびSystem Fに由来しています。
開発環境
F#の開発環境としては、Visual Studioの有償版や無償のCommunityエディションにVisual F#が含まれており、Expressエディション向けの無償ツールも利用可能です。さらに、Visual F# Tools 4.1ではRoslynコンパイラのサポートが追加され、Monoや
.NET Core環境向けにF#コンパイラが移植されているため、macOSや
LinuxでもF#プログラムの開発と実行が行えます。
OCamlと互換性のある標準ライブラリも完備しており、F#とOCaml双方でコンパイルできるコードを記述することができますが、クラス構文については両者に違いがあります。
構文
F#では、OCamlと互換性のある冗長な構文(verbose syntax)と、
Pythonに似たインデントによる軽量構文(lightweight syntax)の2種類の構文スタイルを選択可能です。標準設定では、軽量構文が有効になっており、これによりコードがすっきりとした見た目になります。
例
以下は簡単な例として表示される「Hello, World!」のコードや、再帰による
階乗計算のプログラム、再帰関数の使用例、さらにWindows フォームを用いたベーシックなGUIプログラムの例などがあります。これにより、F#の使用例が広範に示されます。
F#で書かれたソフトウェア
F#は、さまざまなソフトウェアやプロジェクトで利用されています。
参考文献
- - Chris Smith 著、鈴木幸敏 訳、頃末和義 編『プログラミングF#』(初版)オライリー・ジャパン、2008年8月。ISBN 978-4-87311-466-8。
関連項目
外部リンク
F#は、現代のアプリケーション開発において、多くの利点を提供する優れた選択肢となっています。