最近流行りのプログラミング言語
プログラミング言語の流行り廃りというのは、それ自体なかなか興味深い分析対象だ。少しだけ昔話をすると、私がコンピュータをいじり始めた十数年前は、PascalやQuick Basicあたりも広く使われてはいたものの、結局はC言語を学ばないとどうにもならなかった。私より世代が少し前の人ならばアセンブリも必修科目だっただろうし、少し後の人だと、もしかすると最初に触れた言語はCではなくJavaかもしれない。
それが最近では、職業はプログラマです、しかしCやJavaで何か書いたことはありません、という人も結構いるようだ。最初に触れた言語がPerlやRubyといった動的言語で、実用途にもそれらをそのまま使い続けているという人が増えているのだろう。個人的には、そういったモダンで設計の優れた言語からプログラミングを学び始められる人たちのことをとてもうらやましく思う。少なくとも、雑誌に数十ページに渡ってみっしり載ったダンプリストを延々打ち込むことから始めるよりははるかに人間的である。
ところで、プログラミング言語の現在の人気をいくつかの指標から概算しようとするサイトにProgramming Language Popularityというのがあるが、これを眺めてみるとなかなかおもしろい。まず、SlashdotやRedditといったプログラマ向けのディスカッション・サイトで口の端に上るプログラミング言語名の頻度を集計してみると、
- C
- Java
- Python
- Lisp
- Haskell
- Ruby
- C++
- JavaScript
- Scheme
- PHP
が上位十傑となるそうだ。
こんどはCraigs Listに出た求人の数から集計してみると、
- SQL
- C
- PHP
- Java
- JavaScript
- C#
- C++
- Perl
- Actionscript
- Visual Basic
が上位十傑。
さらに、Google Codeに登録されたプロジェクトの使用言語を集計してみると
- C
- Java
- C++
- PHP
- Perl
- C#
- Python
- シェルスクリプト
- Ruby
- JavaScript
が上位十傑になる。
出てきた結果を見比べると、言語ごとの特徴というかクセのようなものが垣間見えて興味深い。おおざっぱに言えば、この三つの結果は上から「注目度」「需要」「プログラマの好み」を反映しているものと考えられるが、CやJavaといった定番がどの上位にも顔を見せるのは当然とは言え、他にPHPとJavaScriptも必ず出てきているあたり、主流がウェブプログラミングへシフトしていることの傍証なのでしょうね。
あとまあ、これもある意味予想通りではあるが、LispやScheme、Haskellと言ったあたりは、結局のところ「語られる」言語であって、「使われる」言語ではないようだ。HaskellにしろCommon Lispにしろ、近年ではライブラリも相当揃ってきており、パフォーマンスの面から言っても実用言語として遜色ないものになりつつあるので、個人的には残念なのだが。
ちなみに、実際に結構使われていて、書けるプログラマの市場需要も高いのに、あまり話題になっていないという気の毒な存在がC#である。私も最近よんどころない事情で少しかじっているのだが(本当にかじっているという程度)、悪くない言語だと思う。Monoもあることだし、狙い目かもしれませんぞ。