プログラミング言語ってどれを勉強すればいいのかわからない
今からプログラミングを勉強してみよう、という人にとって最初に突き当たる問題ですよね。
「最初に勉強するならJavascriptがいいらしい」
「C言語が基本」
「今の時代ならとりあえずRubyでしょ」
どれも実際に私の周りの人が言っていたことです。いろいろな人から意見を聞くけどよくわからない、というときは現在人気のあるプログラミング言語ってどんなものがあるのだろうか?そのプログラミング言語を使うとどんなことができるの?ということを調べてみると良いかもしれません。
自分のwebページを作ってみたい、iOSやAndroidのアプリを作ってみたい、などすでにやりたいことが決まっている人も世の中でどんな言語が人気があるのかを知るとおもしろいですよ。
ランキングを見てみよう
色々な団体が人気プログラミング言語のランキングや順位動向を調査しています。最初に見てみるのはPythonがPHPに迫る – 10月プログラミング言語人気ランキングで紹介されていたものです。
この記事の元になっているのはPYPL(PopularitY of Programming Language Index)のデータのようですね。以下がランキング(画像はhttp://pypl.github.io/PYPL.htmlのもの)
このランキングはGoogleの検索でどの言語のチュートリアルがよく検索されたか、ということを元にして作られているようです。これを見るとPHPと同じくらいPythonを勉強してみよう、という人が多いようです。Pythonは主にサーバ側で動作するアプリケーションを構築するための言語で、YouTubeやDropBoxなどのサービスがPythonで構築されているみたいです。
また、iOS用の新言語Swiftが急上昇しているようですね。
続いてはGitHubでどの言語が用いられているかのランキング(画像はHere are the top 10 programming languages used on GitHubより)。
こちらのランキングでは2008年から2015年までに各言語がどのくらいGitHub上でホスティングされたかの動向がわかります。HTML, CSS, JavaScriptなどwebのフロントエンドで使われる言語がランキングに入っているのが特徴でしょうか。
最後にIEEE(The Institute of Electrical and Electronics Engineers, Inc.。アメリカの電気・電子関連の学会ですね)がまとめたランキングを見てみましょう。こちらの画像はThe 2015 Top Ten Programming Languagesのものです。
このランキングは先ほどのランキングの元になったGitHubのデータ以外にもIEEE Xplore digital library、CareerBuilderなど10種類のソースからの12の指標を元にしたデータを総合したものになっているということで、より正確性がありそうです。左側のオレンジ色のものが2015年のランキング、線でつながれた右側の黄色はその言語が2014年にどの位置にいたかを表しています。
しかし、R言語(統計計算用言語。参考リンク)やMatlab(科学技術数値計算用の言語、環境。ものすごく高い。参考リンク)がランキングに入っているあたりIEEEのランキング、という感じがします。このランキングはIEEE独自の重み付けをしたランキング(IEEE Spectrum ranking)になっているようで、こちらのページから「最近急成長している言語ランキング」も見れます。このランキングの上位20位までの画像がこちら。
「急成長している言語ランキング」で注目すべきは昨年の16位から5位までものすごいランクアップをしたSwiftでしょうか。(Swiftの授業はProclassでも開催されています。シューティングゲームのスマホアプリを作ろう!、アクションゲームのスマホアプリを作ろう!)
その他PHPとRubyの位置が入れ替わっていたり、Perlが下がっていたり、など見ていると少し面白いですね。
おわりに
今回はプログラミング言語の人気ランキングを見てみましたが、実際は自分がどんなことをしてみたいか、ということから勉強するプログラミング言語を決めると良いと思います。「ちょっとスマートフォンアプリ開発に興味がある」という場合はSwiftやJava、webページをかっこ良く動かしたい、という場合はJavaScriptやJQueryなどでしょうか。
私個人的には、ブラウザとテキストエディタがあれば誰でも実行結果が確認できる、情報や実例がたくさんある、C言語と文法が似ている、ということでJavaScriptが取っ付きやすいのではないかな、と思っています。
それでは、皆様楽しいプログラミングライフを!