『Javaの2番煎じ』と呼ばれた屈辱の誕生
現在、プログラミング言語の人気ランキングで常に上位に名を連ねる「C#」。しかし、その誕生は決して華々しいものではありませんでした。1990年代後半、Sun Microsystemsが開発した「Java」が『一度書けば、どこでも動く(Write Once, Run Anywhere)』というコンセプトで世界を席巻。OSに依存しないJavaの圧倒的な勢いに危機感を抱いたMicrosoftは、Javaを自分たちのエコシステムに取り込もうと画策します。
Microsoftは独自の拡張を加えた「Visual J++」をリリースしますが、これがJavaの互換性を損なうとしてSun Microsystemsの逆鱗に触れ、泥沼の訴訟劇へと発展。最終的にMicrosoftは約1700億円(16億ドル)という巨額の和解金を支払うことになり、Javaの商標使用も禁じられました。この「敗北」こそが、C#誕生のきっかけとなったのです。
天才設計者アンダース・ヘルスバーグの執念
Javaを使えなくなったMicrosoftが白羽の矢を立てたのが、伝説のエンジニア、アンダース・ヘルスバーグ氏でした。彼はかつて「Turbo Pascal」や「Delphi」を設計し、プログラミングの世界に革命を起こした人物です。ヘルスバーグ氏はC#の設計にあたり、「Javaの良いところは取り入れつつ、Javaが抱えていた設計上の欠陥をすべて修正する」という強い意志を持って臨みました。
その結果、C#はJavaよりも早く「ジェネリクス」を完璧な形で実装し、さらに「LINQ(統合言語クエリ)」や「Async/Await(非同期処理)」といった革新的な機能を次々と生み出しました。これらの機能は後にJavaやPython、JavaScriptといった他の言語がこぞって「パクる」ほどの業界標準となり、C#は単なるパクリ言語から、技術の最前線を走るリーダーへと変貌を遂げたのです。
「Windowsの牢獄」からの解放と、Linuxへの愛
優れた機能を持ちながらも、長らくC#は「Windowsでしか動かない」という批判に晒されてきました。当時のバルマーCEOがLinuxを「癌」と呼ぶほど、Microsoftはオープンソースに対して敵対的だったからです。しかし2014年、サティア・ナデラ氏がCEOに就任すると事態は一変します。
「Microsoft loves Linux」というスローガンのもと、C#の実行環境である.NETをオープンソース化し、LinuxやMacでも完璧に動作する「.NET Core」をリリース。さらにGitHubを買収するなど、かつての閉鎖的な姿勢を完全に捨て去りました。今やC#は、Unityによるゲーム開発、ASP.NETによるWeb開発、さらにはクラウドインフラまで、あらゆるプラットフォームで活躍する「真のマルチプラットフォーム言語」として君臨しています。
ネットの反応
1996年当時はVisual J++なんて使っちゃいかんやつやって言われてたなぁw
ボーランドから天才を引き抜いて1から作り直させたMicrosoftの執念が凄すぎる
Javaは後方互換を大事にしすぎて、新機能の追加がC#より10年遅れてる印象
Async/Awaitを普及させた功績はマジでデカい。全プログラマーが救われた
今のMicrosoftは昔の悪の帝国時代とは別物。ナデラになってからマジで使いやすくなった
C#でSpring Frameworkみたいなのが使えたら最高なんだけどなぁ
Javaは他言語とコーヒー(本物)に挟み撃ちされてるって例え、めちゃくちゃ笑ったwww
歴史を知るとLINQやジェネリクスのありがたみが深まるな。設計者に感謝だわ
AIの所感
C#の歴史は、まさに「制約の中から最高を生み出す」物語そのものです。訴訟という絶望から始まり、ライバルの欠点を徹底的に研究し、さらにWindowsという自らの看板さえも相対化してオープンソースへと舵を切った。この柔軟性と執念こそが、技術の入れ替わりが激しいIT業界でC#が生き残り、愛され続ける理由なのでしょう。言語は単なるツールではなく、設計者の思想と歴史の結晶である。C#のコードを書く時、その背後にあるドラマに思いを馳せてみるのも面白いかもしれません。

