おすすめプログラミング言語ランキング【2019年最新版】

こんにちは、masakiです。

この記事では、数あるプログラミング言語の中で、

  • 世界全体ではどのような言語が使われているのか?
  • 世界全体ではどのような新しい言語が流行りだしているのか?
  • いまもっともトレンドとなっている技術やプロジェクトは何か?それはどのプログラミング言語で書かれているのか?

といった視点から、『現時点もっとも学ぶべき、需要があり、将来性があり、汎用性が有る言語は何か?』を考えていきます。

初心者
・沢山のプログラミング言語があるけど、どれを学べばよいの?
・どのプログラミング言語が人気があるの?
・どのプログラミング言語を学べば将来安定?
・言語選びで間違えたくない!

このような疑問を持っている人には、参考になる記事だと思います。

この記事を書いている私は、プログラマー・エンジニア歴10年以上で、Web制作・システム制作会社の起業経験がありますので、バリバリのエンジニア視点から解説できると思います。

では見ていきましょう。

スポンサーリンク

プログラミング言語の世界シェアランキング

RankingLanguage
1JavaScript
2Python
3Java
4Go
5C++
6PHP
7TypeScript
8C
9C#
10Shell
11Swift
12Ruby
13Object-C
14Rust
15Kotlin

※引用:GitHut 2.0より

2019年下半期、もっとも人気で活況な言語は、上記のようになっています。

このデータはプログラマーやエンジニアならば必ず利用している、ソースコードの管理サービスGithubに登録されいるプロジェクトで利用されている言語、及びそのプロジェクトの活況度を集計したものです。

ざっくりTOP10を見ると、やはりその頂点にはJavaScriptとPythonが君臨しており、次点にJavaが続いています。

中位にはWeb開発に強い、PHPが入り、CやC++といったオペレーティングシステムやインターネットの基盤を支える下位層の技術に必須の言語が並びます。

TOP10にGoogleが開発した言語であるGoと、Microsoftが手掛けるJavascriptの拡張言語であるTypeScriptが入っているのも注目すべきところです。

Go言語はC言語の代替として期待されているコンパイル言語です。

やはり、google、microsoft、oracle、facebookといったインターネットの覇権を握る企業が開発、コミット、採用している言語が上位を占める事になります。

プログラミング言語のトレンドの普及は、インターネットの覇権を握る企業が採用する→その会社のプログラマー・エンジニアがオープンソースで公開・コミット→世の中のプログラマー・エンジニアの注目を集めてトレンド化して広まるという流れになっています。

活況なプロジェクトから見るプログラミング言語の傾向

Githubのコントリビューター(そのプロジェクトへの貢献者)数毎の活況なプロジェクトを見てみましょう。

ランクプロジェクト名コントリビューター
1Microsoft/vscode19K
2facebook/react-native10K
3tensorflow/tensorflow9.3K
4angular/angular-cli8.8K
5MicrosoftDocs/azure-docs7.8K
6angular/angular7.6K
7ansible/ansible7.5K
8kubernetes/kubernetes6.5K
9npm/npm6.1K
10DefinitelyTyped/DefinitelyTyped6.0K

※引用:https://octoverse.github.com/

ここにも明確な技術とプログラミング言語のトレンドが見て取れます。

1位はMicrosoftが開発している、世界最高の開発エディタと言ってよいVisual Studio Codeが君臨しています。

2位にはfacebookが開発しているReact Native。

Reactとは、faceboookが開発している世界でもっとも注目されているJavaScriptのフレームワークです。React Nativeを使うことでWebサイトやWebアプリケーションのみならず、スマホのネイティブアプリもJavaScriptで開発できてしまいます。

3位にはGoogleが開発している機械学習のライブラリtensorflow。

4位と6位にGoogleが開発しているJavaScriptフレームワークであるAngularが来ています。

9位と10位もJavaScript関連です。

傾向を分析してみると、JavaScript多いですね・・。もはやフロントエンドやユーザーインターフェースはWebやスマホアプリに限らず、すべてJavaScriptで開発しようとする傾向が見て取れます。

実際のところ、facebook、instagram、pinterest、skype、uberといった名だたるサービスのスマホのネイティブアプリがReact Nativeを使ってJavaScriptで開発されています。

▼React Nativeで開発されているアプリケーション一覧
https://facebook.github.io/react-native/showcase

タグから見るプログラミング言語の傾向

GIthubのプロジェクトやトピックスに付けられているタグ(tag)から、技術やプログラミング言語のトレンドを見てみましょう。

ランク付けられたタグ
1react
2android
3nodejs
4docker
5ios
6linux
7angular
8machine-learning
9electron
10api

※引用:https://octoverse.github.com/

やはりここでもReactがトップに君臨しており、javascript関連のタグが目立ちます。

4位にdockerの仮想化技術。dockerはGo言語を採用しています。8位に機械学習。9位にelectronが入っているのは注目に値します。

Electronとは、HTML、CSS、JavaScriptのようなWeb技術でWindows/Mac/Linuxといったクロスプラットフォームで動作するデスクトップアプリケーションを作ることができるフレームワークです。GitHubが開発しています。

タグを日本語化して要約してみると、『JavaScript』『JavaScriptでスマホアプリ開発』『JavaScriptでデスクトップアプリ開発』『仮想化』『Go言語』『Linux』『機械学習』『API』と言ったところでしょうか。

ここでもJavaScriptが中心にいるようです。WebやスマホのみならずデスクトップアプリケーションもJavaScriptで開発する傾向です。

『API』はwebサービスのAPIが、Node.js(サーバーサイドでJavaScriptを動かせる技術)で開発される事が多いこと、及び、最近のWeb開発がマイクロサービスアーキテクチャでAPIコールされる設計が多いことからタグが増えているのだと推測されます。

日本の求人数からみるプログラミング言語

日本国内のプログラミング言語別の求人数を見てみましょう。

リクナビNext、DODA、パイザ、Indeedの言語毎の求人数をグラフにしてみました。
2019年9月時点での検索結果になります。

日本の求人数だとJavaがトップに君臨しており、2位にPHPが来ています。

Javaは今はなき、サン・マイクロシステムズによって開発された言語ですが、オラクル社が吸収合併したことにより、現在ではJavaの各種権利もオラクルに移行しています。

オラクル社が販売するデータベースソフト『Oracle』は非常に堅守なデータベースであり、そのDNAを引き継ぐようにJava言語自体も非常に堅守なプログラミング言語となっています。

国内の大企業の基幹システム等でよく使われています。日本の企業には合っているのかもしれません。

PHPは国内でもWeb全般の開発に利用されています。学習コストも低く、軽量かつ軽快でありながら成熟した言語でもあります。

PHPで開発されているCMSのWordPressは非常に有名で、世界のCMS市場のシェア60%を誇り、世界全体のWebサイトの30%以上がWordPressで構築されていると言われています。
今やWeb系と言えばPHPといっても過言ではありませんし、しばらくこの覇権は続くものと思われます。

データを見るかぎり、C#の求人も多いようです。おそらく国内の開発会社が国内企業や国内ユーザー向けにwindowsソフトウェアを開発して販売しているのだと思われます。

また、C#とゲーム開発フレームワークであるUnityを使うとゲーム開発が簡単になるため、ゲーム開発の需要が多いのだと推測できます。今後もwindowsが覇権を持っている間は、C#はある程度の需要を維持し続けると思われます。

国産のプログラミング言語であるRubyも、数年前ほどではありませんが未だに根強い人気を保っています。

RubyのWebアプリケーションフレームワークであるRuby On Railsも、Webアプリケーションに求められる要件が大規模かつ複雑化した為、Railsでは対応が難しい場面が多くなり、以前ほどの人気は無くなりましたが、未だに根強い人気を保ち、小中規模の多くの開発現場で採用されています。

国内でもJavaScriptの需要は徐々に増えてきているように思われます。JavaScriptの世界的なトレンドが続く限り日本での需要も右肩上がりになるでしょう。
日本国内でもiOSやAndroidのアプリの開発がSwiftやJavaではなく、React NativeやNative Scriptで開発するのが一般的になってくるとJavaScriptの需要はさらに増えていくと思われます。

AI後進国となってしまっている日本でも、Pythonの需要は今後増えていくと思われます。

日本の年収からみるプログラミング言語

株式会社ビズリーチが公開しいる、プログラミング言語別年収ランキングを見てみましょう。

1位にGoogleが開発したGo言語が来ています。Goはコンパイル言語です。C言語の代替として期待されているので、今後C言語に代わり下層レイヤーで採用されていくかもしれません。

2位にScalaが入っています。TwitterがRailsからScalaに移行したことで有名ですね。ScalaはJavaプラットフォーム上で動くので、Javaと簡単に連携できるし、このままJavaの立場を奪っていくことになるかもしれません。

3位にPythonと4位にKotlinと続きます。

高年収言語の特徴として、『扱える人材が少ない』『研究機関やデータサイエンスの分野で使われている』『下層レイヤーのアプリケーションを開発可能』といった傾向がありそうです。
何かに極度に特化する必要があるサービスやビジネスを構築する場合は、こういった言語が選択される事が多いようです。

おすすめプログラミング言語ランキング

ここまでGithubからのプログラミング言語の世界シェア、及び日本のプログラミング言語毎の求人数、日本のプログラミング言語毎の年収を見てきました。

ここからは上記に加えて、学習コスト、需要、将来性、汎用性を加味して学ぶべきプログラミング言語を考えていきます。

JavaScript

世界シェアを見ても、学習コスト、需要、将来性、汎用性を考慮してもやはり学ぶべき言語だと思われます。

フロントエンド、UIの分野でのデファクトスタンダードの地位はしばらく続くものと思われます。

やはりGoogleやMicrosoftやFacebookといったインターネットの覇権を握る企業が、こぞってコアテクノロジーとして採用しているところが大きいと思います。

facebookがオープンソースで公開しているJavaScriptフレームワークであるReact。及びGoogleが公開してるAngularは共に、一つの開発でWeb、モバイルWeb、ネイティブモバイル、ネイティブデスクトップ、あらゆるターゲット向けのアプリケーションの構築を目指しています。

現在スマホのネイティブアプリの開発といえば、AndroidのJavaやiOSのSwiftですが、今後JavaScriptで開発していく流れになると思います。

習得必須の言語です。

PHP

Web系のプログラマーやエンジニアを目指すのであれば必須の言語といってよいでしょう。

やはりインターネットがこれほど普及し、テレビや他のメディアに取って代わっている現状を考えると、Web系のプログラミング言語を習得しておくことは個人的にも損はないと思います。

またJavaなどに比べると学習コストも低く、個人一人で開発しても目に見える形で成果物を出しやすい言語だと言えます。

習得必須の言語です。

HTML・CSS

現時点すべてのWebサイトはこのHTMLとCSSによって記述され、ブラウザがこの言語を解釈して画面にデザインやデータを表示しています。

プログラマーやエンジニアでなくても、一般常識として知っておいでも良いくらいの言語です。

習得必須の言語です。

 

Python

最近、機械学習やディープラーニングで脚光を浴びていますが、もともと非常に汎用性が高く、流行に流されない人気の言語でした。

Djangoのような強力なWebアプリケーションフレームワークがあり、Webアプリの開発も可能です。

成熟している言語なので、ライブラリも非常に多く、あらゆることができます。

習得しておきたい言語です。

Go

C言語の代替として期待されるコンパイル言語です。すでにリリースから10年近くが経っていますが、あまり有名ではありませんでした。

開発に必須の仮想化環境の構築ソフトであるdockerが採用したことで脚光を浴び始めており、今やシステムやネットワーク、サーバーサイド、CUIツールでは定番言語の一つになりつつあります。

やはりコンパイル言語である以上、特徴としてはその高速性でしょう。Go言語でWebアプリケーションを開発した場合、Ruby On Rails等と比べて数十倍の速度で動作します。

今後、C言語の代わりになっていくようであれば需要が上がっていくと思われます。

C・C++

この言語がないと、世の中のほとんどのシステムは動かないと思います。

それゆえに、ここ数十年でめっきり下層レイヤーに押し込められてしまった感があります。

Linux系OSの開発、Linux系OSのソフトウェア、デバイスドライバーを作りたい等、何かよほど明確な目的がないかぎり使うことはないでしょう。

言語自体もモダンなプログラミング言語に比べると大変使いにくいです。

たかが文字列を操作するのですら、自分でメモリーを確保して開放したりしなけらばなりません。

現在では、他に使いやすい言語が沢山あるので、習得する必要はありません。

Ruby

国産のプログラミング言語であり、非常に美しい構文を持ちます。

Ruby On Railsという強力なWebアプリケーションフレームワークを使うために習得した人も多いのではないでしょうか。

いまだに強力なフレームワークであることは変わりませんが、ここ数年ですこし下火になっております。

言語自体もPython等と比べるとコミュニティの規模も含めて少し厳しいのかなと感じます。

Ruby On Railsはありなので、Railsを今から使いたいので無い限り、習得する必要はないと思います。

Java

Javaのスローガンは、”Write once, run anywhere” 「一度(プログラムを)書けば、どこでも実行できる」であり、非常に汎用性が高い言語です。

その特徴から幅広い領域で利用されています。Androidアプリ、デスクトップ、Web、サーバーおよびネットワークアプリケーションにも広く使用されています。

しかしその幅広さ故に、各分野でよりよい言語に負けている印象を受けます。

またJavaのライセンス形式が変更されてややこしくなっているので、今後大手インターネット企業がjavaを積極的に採用することは少なくなるように思われます。

おそらくAndroidが何かしらの言語(GoやGoogleが新しく開発した言語等)でリプレイスされたとしたら、そこで致命的に需要が減っていくことになるでしょう。

Pythonを学ぶのであれば、学ぶ必要はないと思います。

C#

Microsoftが開発したC言語系のオブジェクト指向言語です。構文はJavaに少し似ています。WebアプリやWindowsアプリを開発することが可能です。C#とゲーム開発プラットフォームであるUnityを使えば簡単に高品質なゲームを開発することができます。

windowsのネイティブアプリをがっつり開発したり、ゲームを開発するには必須の言語だと思います。

ただし、windowsの通常のネイティブアプリを作りたいのであれば、JavaScript+Electronでwindowsアプリを開発可能です。

Swift

Appleが2014年にリリースした、MacOS及びiOS上で動作するネイティブアプリを開発するためのプログラミング言語です。

しかし現時点、React Nativeや、Native Script + Angular等でiOSのネイティブアプリが作れてしまうし、Electron + JavaScriptでMacOSのネイティブアプリも作れてしまうので、学習コストを考えると学ぶ必要はないと思います。

まとめ

プログラミング言語の世界シェアと日本シェア、各言語の現状と将来性を見てきました。

学習コスト、人気、需要、将来性、汎用性の点からオススメする言語は、JavaScript、HTML・CSS、PHP、Python、Goとなります。

この言語を学習し周辺技術をマスターすることでWeb系、iOSネイティブアプリ、Androidネイティブアプリ、windows及びmacOSネイティブアプリ、機械学習と非常に多くの分野で活躍することが可能です。

ITエンジニアが目指すべき、真のキャリアとは

2019年9月11日
エンジニアがおすすめするプログラミングスクール3社

スポンサーリンク