147
136

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

プログラミング言語ランキングより:2016年 動向を見守るべき言語は Elixir、Julia、Rust、Swift、TypeScript

Last updated at Posted at 2016-03-16

最新のRedMonkプログラミング言語ランキング1 によると、Swiftの成長ぶりと潜在的なポテンシャルは驚異的とのことだ。GoとSwiftは、トップ10に食い込む可能性もあると見られている。

また、トップ20圏外にいるが、今後の動向を見守るべき言語として、Elixir、Julia、Rust、TypeScriptが挙げられている。

ベストランキング

開発者が採用するプログラミング言語を調べるために、RedMonkはStack Overflowのディスカッション数や、GitHubで使用されている言語を分析している。RedMonkのアナリストおよび共同創設者のスティーブン・オグレディは、その結果を半年ごとに発表している。

ランキングは以下の通りだ。なお原文1 では、グラフも用意されている。

トップ21

1 JavaScript
2 Java
3 PHP
4 Python
5 C#
5 C++
5 Ruby
8 CSS
9 C
10 Objective-C
11 Shell
12 Perl
13 R
14 Scala
15 Go
15 Haskell
17 Swift
18 Matlab
19 Clojure
19 Groovy
19 Visual Basic

個人的には、RedMonkのランキングが発表される度に、CSSはプログラミング言語ではないだろう、と思うのだが、それは置いておこう。

なお、この調査は、プログラミング言語の利用率を、ある視点から眺めているに過ぎず、言語間で絶対的な順位を比べてもあまり意味はない。例えば、GitHubでの順位はプログラムの行数に基づいて決めているので、より記述力の高い最近の言語は不利になる傾向がありそうだ。重要なのは、個々の言語のランクが、上昇傾向にあるのか、下降傾向にあるのか、また、どの程度の勢いで上昇しているのか、といったことだろう。

オグレディが述べているように、トップ10にはほとんど動きが見られない。JavaScriptとJavaがずっと1位と2位を占めており、これらの言語が、保守的ではあるが、仕事をこなすのに極めて有用であることを示している。また今後トップ10に食い込みそうな言語の候補として、GoとSwiftを挙げている。

動向を見守るべき言語

これ以降は、オグレディによる分析を翻訳したものだ。

Elixir

このErlangと親和性の高い言語は、今期、めざましいジャンプを遂げた。私たちが言語について調査した前回の四半期では、Elixirは 60位だった。それがこの1月には、54位へ跳躍したのだ。順位にこだわりすぎないよう注意が必要だが、リストの下位になるほど、このような変化は、より注目すべきものとなる。これが示唆するのは、この「一部の言語ファンから最も愛されている」言語が、私たちが期待してきたような成長ぶりを、遂に見せ始めたということかもしれない。興味深いことに、Erlangはこの躍進の恩恵を受けなかった。前回の四半期で25位に上がった後、26位に戻っている。

訳注:この躍進には、ElixirのキラーアプリであるPhoenixの1.0がリリースされたことが絡んでいそうだ。

Julia

Juliaの現在までの成長は、他の言語のそれがウサギだとすると、カメのようなものであり、今回のラン(駆けっこ)も例外ではなかった。Juliaはこのランでは52位から51位へと動いた。この言語のゆっくりとした上昇を目の当たりにしたいま、言語採用において働く力学を確認するべきだろう。具体的にいうと、現在の軌道を著しく改善する何らかの先行開発がされているのかどうかだ。いまのところ、この質問への答えはノーだが、現在の開発でフォーカスしている性能面や文法上の改良は、採用を検討する人たちへ差し出す「ニンジン」となりそうに思える。

Rust

言語エンスージアスト2 の間で、もうひとつの人気の言語となっているRustは、これまで、ElixirやJuliaのような成長の遅い言語を凌ぐペースで上昇してきた。しかし、さほどの違いはない。今季Rustは48位から46位へと2ランク上昇した。Rustに対する興味深い質問は、それがいわゆる転換期、つまり、自己増強が始まるクリティカルマス3 に達し、本当の成長のための原動力を得る段階に、はたして突入するのか、もしそうなら、それがいつなのか、といったことだろう。Goはこの過程を通り抜けてきた。30代前半での成長は控えめだったが、その後は急上昇し、その勢いはトップ20に入るまで衰えなかった。その時が来るまでRustは、四半期ごとに、控えめではあるが、堅実な成長を続ける必要がある。

Swift

Swiftの流星さながらといった急上昇ぶりは、トップ20に入ると予想通りスローダウンした。しかし重要なのは、まだ止まってはいないことだ。今回のランキングでSwiftは、18位から17位へと、順位を1つ上げた。常にそうだが、トップに近づくにつれて上昇はより困難になる。Matlabを追い越し、SwiftはGoのすぐ2つ下の順位につけている。Goよりも5年も若い言語なのにも関わらずだ。Scalaの3位下、Rのわずか4位下だ。このことはSwiftが、本当の人気と上昇力を持つ他の言語たちと肩を並べるようになり、1級言語に仲間入りするための圏内に到達したことを意味するだろう(Rは2級言語の中でトップにつけている)。

興味深いのは、Swiftが、まだ大きく動くポテンシャルを持っていることだ。現在の上昇力は、オープンソースの競合言語たちの中で、相対的にクローズドな選択肢でありながらも獲得したものだ。私たちがこの四半期のスナップショットを得るほんの4週間前、Appleは遂にSwiftをオープンソース化した。これは、このリリースによる本当の効果が、次の四半期のランキングまでは、はっきりと実感できないことを意味している。

このリリースは、開発者たちの中でも、特に費用面で、プロプライエタリな選択肢に対するオープンソースなランタイムの有利さを求める人にとって重要だったが、それだけでなく、サードパーティにとっても、プロプライエタリなスタックにはできないような、コミュニティへの、ためらいのない投資を可能にするだろう。IBMによるSwiftへの熱狂的な抱擁 はその一例だ。これはSwiftが他に例を見ず、潜在的に新たな原動力をいくつも持っていることを意味する。このリリースがSwiftの採用全般に渡ってどのようなインパクトを持ち、そして、それがSwiftをトップ10に近づける、あるいは、実際に入れてしまうだけの推進力を持つのかを見極めるのは、本当に興味深いことだろう。

TypeScript

無名ではあるが 予期していなかったが、もうひとつの見守るべき重要な言語はTypeScriptだろう。この、マイクロソフト界の比較的若い一級市民であり、JavaScriptの(特にオープンソースな)スーパーセットは、静かに順位を上げている。このランキングでは、33位から31位へと2ランク上昇し、ASP を追い抜いた。明らかにJavaScriptの牽引力のごくわずかを持つに過ぎないが、現在までに追い越した興味深いテクノロジーのリストは、長くなりつつある。これには、ASP(32位)、OCamlとTCL(33位)、Cold FusionとDart(37位)、前述のElixir、Julia、Rustなどが含まれている。

TypeScriptに爆発的な成長を期待するのは妥当ではないが、もし、トップ20入りする実力を持つことが判明するような弾みを得て、より注目されるようになっても、驚くべきことではない。いずれにせよ、動向を見守るべき言語になるだろう。

訳注:当初「although unheralded」を「無名ではあるが」と訳していましたが、「予期していなかったが」に修正しました。unheraldedには、(才能のある人が)予告なしに突然現れるという意味があり、「無名」と「思いがけない」のどちらの意味にも使われます。


  1. The RedMonk Programming Language Rankings: January 2016 2

  2. エンスージアスト:熱心な愛好家

  3. クリティカルマス:普及の伸びが一気に跳ね上がる境界となる普及率のこと

147
136
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
147
136

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?