これから学ぶとしたら、人気があって、今後も使われそうなプログラミング言語を選びたい!
IT技術の進歩は目覚ましいものがあり、既に多数のプログラミング言語が存在するなかで、新しい言語も生まれてきています。IT業界では、人気のある言語の方が案件が多く、高い年収も見込めるため、ITエンジニアを目指すなら人気の言語にも目を光らせておきましょう。
この記事では人気プログラミング言語のランキングを紹介します。2019年の、人気のプログラム言語とは?
- Java が依然として人気
- AI(人口知能)の人気により Python が上位にランクイン
- Java 互換でモダンなコードでプログラムが組める Kotlin に注目
- Perl の人気は落ちてきている
プログラミング言語人気ランキング
TIOBEの言語ランキング
TIOBE Indexは、検索エンジン上で話題になっているプログラミング言語を人気度として順位付けしている指標です。
2019年7月の人気ランキングは以下の通り。
Tiobe Indexは、検索エンジンの検索結果数を元にしているので、最新の人気度を測るには適当ではないとする声もあります。
参考)TIOBE Indexはあまり参考にすべきでない – Qiita
Githubのプルリクエストの多い言語ランキング
Githubは無償で公開されているプログラムコードで、プルリクエストは修正したコードを本コードに反映する依頼のこと。
Githubで、頻繁にメンテされてるコードのプログラミング言語は何?を集計した結果になります。
2019年の第二四半期のランキングは以下の通り。
Githubのプルリクが多い言語ランキング 2019 Q2
- JavaScript
- Python
- Java
- Go
- C++
- Ruby
- PHP
- TypeScript
- C#
- C
Tiobeと違って、Go言語やTypeScriptがランクインしてきました。
しかし、プルリクエスト数だけを対象にすると、「細かいコード修正が多いもの」が上位に上がり、「大きめの修正だが、プルリクエスト数は1回」のものがあまり評価されないという欠点があります。
Githubプルリク数と、Stack Overflowタグ数による言語ランキング
GitHubのプルリクエストの数に加えて、開発者向け情報共有サイトStack Overflowでタグが付いたプログラミング言語の数をベースにしています。
人気の言語ランキングとしては、バランスが良い指標だと考えられます。
Githubプルリク数、Stack Overflowタグ数の多い言語ランキング
The RedMonk Programming Language Rankings: June 2019 – tecosystems
- JavaScript
- Java
- Python
- PHP
- C++
- C#
- CSS
- Ruby
- C
- TypeScript
- Swift
- Objective-C
- Scala
- Shell
- R
- Go
- PowerShell
- Perl
- Haskell
- Kotlin
2019年に注目のプログラミング言語は?
2019年に人気度が上昇してきている、新し目の言語について見て行きましょう。
Go言語
GoogleのエンジニアRobert Griesemerらにより開発された言語です。
コンパイル型言語(静的型付け)の高速性と、スクリプト型言語(動的型付け)の開発生産性の良さを併せ持っているのが特徴。
コンパイル時に、潜在的なバグを発見することができるため、後工程でのバグ修正による手戻りを大幅に削減可能。
型推論機能があるため、「そこは、わかってくれよ…」というコンパイル時の警告が抑制されます。
Go言語のコードサンプル
package main import "fmt" func main() { fmt.Println("Hello, World") }
TypeScript
マイクロソフト開発のオープンソースのプログラム言語。書式は、JavaScriptの拡張。
クライアントサイド、サーバサイドのJavaScript開発に利用できます。
コンパイラにより、高速実行可能な実行モジュールを生成できます。
TypeScriptは、Google社内の標準言語として採用されています。
バージョン3.4で発生したバグで落ちていた性能が、2019年5月のバージョン3.5で高速化しました。
2019年の注目言語No.1です。
TypeScriptのコードサンプル
function greeter(person: string) { return "Hello, " + person; } let user = "Jane User"; document.body.textContent = greeter(user);
Kotlin
読み方は、コトリン。ロシア製のプログラミング言語です。
Kotlinで開発したコードは、Javaバイトコードにコンパイルされ、仮想マシン上で動作します。Java言語で書かれたプログラムと同程度の実行速度が出せます。
Java言語よりも簡潔にコードを書けることを目指しています。
Java言語の開発スキルが活かせることと、Java連携が強力な点がポイントです。
Go言語と同じく、コンパイル時に潜在バグのチェックが可能な点と、型推論でスクリプト型言語のノリでコードが記述できます。
Kotlinのコードサンプル
fun main(args: Array) { println("Hello World!") }
Rust
Mozillaが支援するオープンソースのプログラミング言語。
ウェブブラウザのFirefoxは、Rustで開発されています。
C言語に似た記述方法で、学習難易度がとても高い言語としても知られています。
プログラマにとっては、抽象的にコードを記述することができ、同時に実行速度も出すことができるのは魅力。
「こういうふうに書けるって、いいよね」と、2016年~2019年の間4年連続で「もっとも愛されているプログラム言語」として、1位を獲得(Stack Overflow Developper Survey)
参考)Stack Overflow Developer Survey 2019
ある意味マニアックな言語で、多人数の開発に使うのは無理があると考えられます。
Rustのサンプルコード
fn main() { // 世界よ、こんにちは println!("Hello, world!"); }
「ポテパンキャンプ」には、人気のプログラム言語を習得した現役エンジニア講師がいます。分からないことはチャットなどですぐ聞けて、最短5か月で未経験からプログラマー・エンジニアになれるプログラミングスクールです。
2019年に批判が多い言語
PHPは、人気ランキングTOP10 入りしているものの、批判も多い言語です。
プログラム初心者にも、比較的簡単に使えるというメリットがあります。それほどスキルが高くない開発者を集めて、低コストで開発できるという面があります。
「適当に書いても動く」ため、プロトタイプとして開発するなど、とりあえず動くものを、時間掛けずに開発する目的なら、とても良いと思います。
しかし、開発者のスキルによっては、保守しずらい、他人が見てわかりにくいコードが大量生産されてしまうという大きなデメリットがあります。
そのため、ひとつのバグを見つけるために、広範囲のソースコードを見なおさなければならないという状況が起こります。
大規模システムで採用すると、メンテコスト、システム更改のコストが高くなるんですね。これは大きなデメリットと言えるでしょう。
プログラマから見ると、他人が作った汚いソースコードを見直す時間は、非生産的で苦痛な時間。
そのあたりが、批判の多い理由だと思います。
現在は不人気の有名言語
2,000年ごろ、ウェブのサーバサイドプログラムと言えばPerlでした。
しかし、現在はPerlを扱う人口が少なくなっています。
Perlを極めたプログラマは、出世して、すでにプログラムを書かなくなったため、現役プログラマ自体が少ないのだと思われます。
後続のPythonやRubyと比べると、Perlは便利度や扱いの簡単さ、利用できるモジュールの多彩さなどで見劣りするため、新しくPerlを学ぼうというプログラマも少ないのでしょう。
しかし、現在もPerlを使って動いている既存システムは多くあります。
Perl人口が少ないため、既存のPerlシステムのメンテなどは、比較的高報酬が設定されることが多いようです。
まとめ
人気プログラミング言語ランキングと、これから注目の Go や Kotlin、Rust などについて解説してきました。プログラミング言語がたくさんあり、どれを学習していいか迷うかもしれませんが、変数や、メソッド、オブジェクト思考のクラスなど、基本的な概念はどのプログラミング言語でも同じであるため、まずは、Ruby や Java などのインターネット上に情報が多い言語でプログラミングの基礎を学んでみるのもよいでしょう。
TIOBE プログラミング言語ランキング
TIOBE Index | TIOBE – The Software Quality Company