C#というプログラム言語は、無理解と偏見の嵐に晒されていると言えます。
たとえば出来の悪いJavaの猿まねであるとか、マイクロソフトという私企業の所有物であるとか言われます。
その際、現在のC#の言語仕様はヨーロッパの標準化団体であるECMAが規定しているとか、オープンソース実装のC#処理系が世の中に複数あるというような話は全く取り上げられない場合も多いと言えます。
特に、C#をJavaの猿まねとする無理解は根強いものがあります。Javaに変な新しい機能をゴテゴテと付けたものがC#であるという解釈です。しかし、このような解釈は正当ではありません。というのは、これらの機能は、「変な新しい機能」などではないからです。Javaに無く、C#にある機能のうちの多くは、Delphiと呼ばれるプログラム言語で古くから使われていたもので、その歴史はJavaよりも古い時代に遡ることができます。そして、Delphiはマイナーではあるが優れた言語であるという定評があり、長い利用実績もあります。そのような実績に裏打ちされた機能を、歴史の重みを尊重することなく頭から否定するような行為は、愚かしいと言うことができるでしょう。
それはさておき、ここで1つの疑問があり得ると思います。
本当にC#はDelphiの機能を引き継いだ後継言語なのか、ということです。
C#はマイクロソフト、Delphiはボーランドという互いにライバル関係にある会社が生み出したものです。そのような関係にある2つが、本当に後継言語と呼べる関係にあるのでしょうか。
それに関しては、Delphiを開発したAnders Hejlsberg氏がマイクロソフトに移籍後にC#を開発した、という話もありますが、それよりも、もっと決定的な証拠を見つけ出すことができました。
ある時、仕事の会話の中で、こんな言葉を聞きました。
「Visual Basic.NETは普及し始めた感じがありますね。でも、C#はイマイチ普及していないのですよね」
「C#は良い言語なんですけどね」
「でも、普及しないのです」
「なぜでしょうね」
そんな会話を聞きながら、私ははたと思いました。
こういう会話は昔も聞いたことがあるぞ。
C#をDelphiに置き換えれば、まったく同じ趣旨の会話を過去にも聞いているぞ。
そう。少数派の利用者が良い言語であると惚れ込んでいるにもかかわらず、多数派は使ってくれない。このような特徴を共有していることこそ、C#がDelphiの後継言語であるという揺るぎない決定的な証拠と言えるでしょう。
その5秒後 §
あ、揺るぎない決定的な証拠がぐらぐら揺れて倒れてしまったぞ。
なんだ、全く当てにならない証拠だなぁ。
読者の皆さんも、こんな駄文を信じてはいけませんよ。