MTI1MDczOTM3MjQyNTU5NzYy_0

写真拡大 (全2枚)

今仕事を得るにはJavaかPHPを学べ。将来を描くにはGo、Swift、Rを学べ。

開発者は気まぐれな集団かもしれないが、彼らはJavaにこだわっている。何とも素晴らしいことだ。それでも、最新のRedmonkプログラミング言語ランキングが示すように、開発者はそれぞれ、クラウドやモバイル向けのGoやSwiftといった新しい言語に対して(それはそれは)非常にオープンである。

Swiftの場合で言えば、その道はこれまでにないほど万人に開かれている。。

これから見るように、このランキングはモバイル、クラウド、ビッグデータへと状況が移り変わっていることを示しているが、全く驚くべきことではない。驚くべきは、その転換がどれほど劇的に起こっているかである。

ベストランキング

開発者が好むプログラミング言語を調べるために、RedmonkはGitHubで使用されている言語や、人気コード・リポジトリ、開発者がプログラミングについて議論する場であるスタック・オーバーフローなどを分析している。Redmonkのアナリストおよび共同創設者のスティーブン・オグレディは半年ごとにその結果を明らかにしている。

ランキングは以下のとおりだ。まずはグラフから。

Redmonkより引用

そして、ランキングトップ10がこれだ。

1 JavaScript
2 Java
3 PHP
4 Python
5 C#
5 C++
5 Ruby
8 CSS
9 C
10 Objective-C

オグレディが明らかにしているように、Javaは死にかけてなどではない。「しばしば死んだものとみなされている言語(Java)と、時に未来の言語としてもてはやされる言語(JavaScript)は持続的な成長と注目を集めています。このランキングによれば、両言語は最も人気のある言語であり続けているのです」。

トップ10外を見てみれば、使用開発言語の選択において根本的な転換が見られることが明らかだ。

  • Rはその頂点に達した可能性があるが、それでも目覚ましい成長が見て取れる。分析ツールとしてのRは、PythonやRubyの人気を支えている汎用性を欠いている。それでも、(過去いくつかのRedmonkランキングで上昇し)13位に達しているのは印象的だ。これらのオープンソース分析言語には何か人気の秘密があるのだ。ガートナーが発見したように、「革新的なデータ科学者の多くは、実際、高度な分析の積み重ねにおいて、オープンソース・コンポーネント(特にPythonとR)を好みます」。確かにそうだ。
  • Goはロケットのごとき勢いだ。グーグルの恩恵と、クラウド開発を劇的に単純化する機能を備えている。そのためGoは、Redmonkのランキングで2年前は28位、わずか6ヶ月前には21位だったが、17位に上りつめるという状況となっている。
  • しかし、Swiftの成長は「前代未聞」だ。アップルがObjective-Cの後継者だと宣言したことを考えると、Swiftはいわば常にトップ20の言語だったとも言える。しかし、オグレディが述べているように、その劇的な上昇は信じられないほどだ。その状況はある事実を示している。すなわち、モバイルは巨大であり、モバイル内のアップルの力は巨大である(巨大化し続けている)ということだ。

Swiftが見せる成長は、この類のランキングを見渡してみても、歴史的に見て前例のないことだ。言語のランキング上昇といえば、一般的に5〜10くらい上昇することを指す。言語がトップ20以内に近づけば近づくほど、伸びるのはより困難になる。それにもかかわらず、Swiftは第3四半期の68位から今期の22位まで46も上昇したのである。

依然として、アップルはモバイル開発において、主導的(大きな)役割を担っている。これはVisionMobileが明らかにした、モバイル開発者の忠誠と、App Storeにおけるアプリ数の分析から見て取れる(iOS開発者は2014年のみで100億ドルを稼いでいる)。

ランキングが意味すること

オグレディが述べているように、Redmonkのランキングにおいて上位に変動が見られなくても、アップルは例外ともいえる存在だ。

トップ10はある程度固定されており、トップ20の後半やランク外で起きている転換―GoやSwiftへ―は、予測可能であり、予想されてもいる。これらのランキングが描き出す予想図とは、開発者によって完全に動かすことのできる環境である。過去に期待されていたように、1つか2つの言語ばかりが利用されるのではなく、より多くのトップレベル言語に利用が分散し、専門的な言語がそれに続く形となっているのだ。

換言すれば、開発者主導で、作業に最適なプログラミングツールが選ばれているということだ。もちろん、彼らは100種類のツールを使用したくはないはずだ。しかし、彼らは10から20の異なるプログラミング言語を使用し続けているため、あまりランキングで変化が見られないというわけだ。

それでも、そのような転換が起きている領域―モバイル開発、クラウドおよび分析向け言語など―では、市場が大きく長期的な転換を見せていると言えるだろう。今後も、モバイル、クラウド・コンピューティングやデータ分析向けの言語を知れば、JavaやC#を知っているのと同じくらい有用となるだろう。

トップ画像提供:Shutterstock

Matt Asay
[原文]