2002年 ・ 関数型・マルチ・その他
F#の歴史
Don Syme が OCaml の中核を .NET 上に再実装するところから始めた、型付き関数型言語。.NET の型・例外・スレッドをそのまま F# のものとして扱い、他の .NET 言語と双方向に連携できる。その後、非同期処理(async)の計算式などを持ち込み、C# など他言語にも影響を与えたと本人は述べている。
- 年(初めて公開された年)
- 2002年
- 作った人
- Don Syme
- 組織
- Microsoft Research Cambridge
- 系統
- 関数型・マルチ・その他
年の決め方 2002年6月4日に ILX プロジェクトの一部として最初の版(v0.1、まもなく 0.5)が静かに公開された(Syme 本人の記述)。F# 1.0 の事前版の公表は2005年。
F#の祖先と子孫
影響元をたどれる言語16、影響先をたどれる言語6を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
OCaml の実用的な型付き関数型プログラミングを .NET に、.NET を OCaml に持ち込むこと。
“The first release (v0.1, soon replaced by 0.5) was made near-silently on June 4 2002”
年の根拠の出典: Syme, The Early History of F# (HOPL IV, 2020; 著者公開版 PDF。DOI https://doi.org/10.1145/3386325)
“to bring the benefits of OCaml to .NET and .NET to OCaml”
目指したことの根拠の出典: Syme, The Early History of F# (HOPL IV, 2020; 著者公開版 PDF。DOI https://doi.org/10.1145/3386325)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
Python ・ 1991年
受け継いだ点: インデントで構造を表す軽量構文の着想
影響を受けた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
OCaml ・ 1996年
受け継いだ点: 言語の中核(ML 系の型付き関数型)を .NET に再実装
影響を受けた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
C# ・ 2000年
受け継いだ点: オブジェクト・プロパティ・イベント(C# 1.0)
影響を受けた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
一覧にない言語からの影響(名前だけ): Miranda・Standard ML・Caml Light・Pizza/GJ
影響を与えた言語
-
C# ・ 2000年
受け継がれた点: ジェネリクスの下地・var・async/await・タプル・パターンマッチ
影響を与えた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
Scala ・ 2003年
受け継がれた点: アクティブパターンと抽出子など(Syme の回顧による)
影響を与えた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
Kotlin ・ 2011年
受け継がれた点: 型付き関数型の考え方(Syme の回顧による)
影響を与えた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
TypeScript ・ 2012年
受け継がれた点: 型付き関数型の考え方(Syme の回顧による)
影響を与えた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語