「C Sharp」の版間の差分
編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (6人の利用者による、間の6版が非表示) | |||
| 12行目: | 12行目: | ||
遙か昔、[[ボーランド]]社が売っていた[[Turbo Pascal]]、[[Delphi]]は[[アンダース・ヘルスバーグ]]による洗練された設計と圧倒的なポテンシャルを持っていた。にも関わらずサードパーティ製開発ツールであるがため常に二番手の日陰者であった。 | 遙か昔、[[ボーランド]]社が売っていた[[Turbo Pascal]]、[[Delphi]]は[[アンダース・ヘルスバーグ]]による洗練された設計と圧倒的なポテンシャルを持っていた。にも関わらずサードパーティ製開発ツールであるがため常に二番手の日陰者であった。 | ||
その[[ボーランド]]社で1994年頃、創業メンバーと会社乗っ取りを目論む取締役会との派閥闘争が勃発。この派閥闘争は創業メンバーの敗北に終わり、[[フィリップ・カーン]]や[[アンダース・ヘルスバーグ]]、[[ポール・グロス]]をはじめとする創業初期メンバーと、その関連部署(主に開発ツール部門)の社員が全員クビになるという大事件が発生した。 | |||
それを知った[[ビル・ゲイツ]] | それを知った[[ビル・ゲイツ]]が「私の味方になれば世界の半分をやろう」と言ったかどうかは知らないが、[[ボーランド]]をリストラされたほぼ全員が[[マイクロソフト]]に再就職し、復讐を誓ったという。そして[[Delphi]]と[[Visual Component Library]] ([[VCL]])を魔改造したC#と[[.NET Framework]]が生まれた。 | ||
その当時、[[マイクロソフト]]には創業の祖であり同社にとって創造主、いわゆる神である[[ポール・アレン]]と[[ビル・ゲイツ]]の作った[[MS-BASIC]]、その流れを組み、かつ[[MS-DOS]]の生みの親であり第二の神である[[ティム・パターソン]]が指揮した[[Visual Basic]]が主力であった。にも関わらず、それらを全て捨てるという決断を下すほど[[Turbo Pascal]]の一族は圧倒的な完成度であったという。 | |||
以上のような経緯もあり、公開当初のC# 1.x系は[[Delphi]]の見た目を変えただけの方言という感じで、標準ライブラリも[[VCL]]そのもので[[バグ]]まで完全移植という代物であったが、当時大流行していた[[Java]]風に[[ | 以上のような経緯もあり、公開当初のC# 1.x系は[[Delphi]]の見た目を変えただけの方言という感じで、標準ライブラリも[[VCL]]そのもので[[バグ]]まで完全移植という代物であったが、当時大流行していた[[Java]]風に[[実行ランタイム]]を[[仮想マシン]]、[[メソッドポインタ]]を[[デリゲート]]などと各種用語の呼び名も刷新することで「まるで新しいもの」と思わせた細かいマーケティング戦略(いわゆる「[[リネーム商法]]」)も功を奏し、[[Delphi]]以前を知らない多くの人はコロッと騙された。 | ||
なお、C# 2.0から壮絶な進化が始まり、2012年3月31日時点での最新バージョンであるC# 4.0は、ほぼ初期(C# 1.x)の原型をとどめない形となっている。 | なお、C# 2.0から壮絶な進化が始まり、2012年3月31日時点での最新バージョンであるC# 4.0は、ほぼ初期(C# 1.x)の原型をとどめない形となっている。 | ||
| 24行目: | 24行目: | ||
== 進化の系譜 == | == 進化の系譜 == | ||
=== C# 1.0 === | === C# 1.0 === | ||
ほぼ[[Delphi]]そのもの。 | |||
* [[C Sharp/仮想関数|C#/仮想関数]] | |||
* [[C Sharp/プロパティー|C#/プロパティー]] - [[プロパティー]] | * [[C Sharp/プロパティー|C#/プロパティー]] - [[プロパティー]] | ||
* [[C Sharp/インデクサー|C#/インデクサー]] - [[インデクサー]] | * [[C Sharp/インデクサー|C#/インデクサー]] - [[インデクサー]] | ||
| 37行目: | 38行目: | ||
* [[ジェネリクス]] | * [[ジェネリクス]] | ||
* パーシャルクラス | * パーシャルクラス | ||
* | * [[C Sharp/null許容値型|null許容値型]] | ||
* [[C Sharp/null合体演算子|null合体演算子]] | |||
* アクセサのアクセスレベル | * アクセサのアクセスレベル | ||
* staticクラス | * staticクラス | ||
| 47行目: | 49行目: | ||
* デリゲートの Covariance/Contravariance | * デリゲートの Covariance/Contravariance | ||
<ref>http://ufcpp.net/study/csharp/ap_ver2.html</ref> | <ref>http://ufcpp.net/study/csharp/ap_ver2.html</ref> | ||
=== C# 3.0 === | === C# 3.0 === | ||
* [[LINQ]] | * [[LINQ]] | ||
| 80行目: | 83行目: | ||
* [[プログラミング言語]] | * [[プログラミング言語]] | ||
* [[リネーム商法]] | * [[リネーム商法]] | ||
* [[Cシャープ(音楽記号)]] | |||
== 参考文献 == | == 参考文献 == | ||
{{Reflist}} | |||
{{ | [[category: プログラミング言語]] | ||