2000年 ・ オブジェクト指向・マルチ・その他
C#の歴史
2000年に Microsoft が .NET プラットフォーム向けに発表したオブジェクト指向言語。C/C++ の技術者が既存の技能を使えることを狙い、構文は C 系に近い。1.0 は Java によく似ていたが、その後ジェネリクス、LINQ、async/await などを加え、関数型の要素も取り込んだ。
- 年(初めて公開された年)
- 2000年
- 作った人
- Anders Hejlsberg
- 組織
- Microsoft
- 系統
- オブジェクト指向・マルチ・その他
年の決め方 2000年6月26日に Microsoft が C# を発表(プレスリリース)。1.0 の出荷は 2002年1月(Visual Studio .NET 2002 と同時)。
C#の祖先と子孫
影響元をたどれる言語16、影響先をたどれる言語6を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
ECMA での設計目標は「単純で現代的な汎用のオブジェクト指向言語」。Microsoft は発表時に、C/C++ の資産を引き継ぐ現代的な言語と位置づけた。
“a modern, object-oriented programming language built from the ground up”
年の根拠の出典: Microsoft Introduces Highly Productive .NET Programming Language: C# (2000-06-26)
“simple, modern, general-purpose object-oriented language”
目指したことの根拠の出典: The history of C# (Microsoft Learn)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
C++ ・ 1985年
受け継いだ点: Visual C++ の系譜・C++ の演算子や文
影響を与えた側の資料が述べています ・ 出典: Microsoft Introduces Highly Productive .NET Programming Language: C# (2000)
-
Python ・ 1991年
受け継いだ点: C# 4.0 の dynamic
影響を与えた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
Java ・ 1995年
受け継いだ点: 1.0 時点の見た目・設計目標(Java に似ていた)
影響を受けた側の資料が述べています ・ 出典: The history of C# (Microsoft Learn)
-
F# ・ 2002年
受け継いだ点: ジェネリクスの下地・var・async/await・タプル・パターンマッチ
影響を与えた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
一覧にない言語からの影響(名前だけ): C++ (Visual C++)・Java・Icon・Delphi・Smalltalk・Modula-2
影響を与えた言語
-
F# ・ 2002年
受け継がれた点: オブジェクト・プロパティ・イベント(C# 1.0)
影響を受けた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
Scala ・ 2003年
受け継がれた点: 概念と構文の大部分を採用(ジェネリクスの扱いなど C# に近い面も)
影響を受けた側の資料が述べています ・ 出典: An Overview of the Scala Programming Language (EPFL, 2006)
-
Rust ・ 2010年
受け継がれた点: 属性(attributes)
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Kotlin ・ 2011年
受け継がれた点: 言語機能の着想
影響を受けた側の資料が述べています ・ 出典: Kotlin FAQ
-
Swift ・ 2014年
受け継がれた点: 言語機能の着想(具体的な機能は未記載)
影響を受けた側の資料が述べています ・ 出典: Chris Lattner's Homepage
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語
出典
- Microsoft Introduces Highly Productive .NET Programming Language: C# (2000-06-26)
- The history of C# (Microsoft Learn)
- A tour of C# (Microsoft Learn)
- Syme, The Early History of F# (HOPL IV, 2020)
- An Overview of the Scala Programming Language (EPFL, 2006)
- The Rust Reference: Influences
- Kotlin FAQ
- Chris Lattner's Homepage
影響の線の引き方は一覧の注記に書いています。