勉強の為に転載しました。
https://blog.codecamp.jp/programming-ranking
- 更新日: 2019年2月21日
- 公開日: 2018年10月11日
数あるプログラミング言語の中から、よく利用されている2019年注目の言語をピックアップしてみました。プログラミングに興味のある方、ちょっと始めている方にとって参考になると思います。
また今回は各言語の説明だけでなく、各言語の活用事例を紹介したり、編集可能なサンプルコードを紹介することで、よりイメージしやすいようにまとめてみました。今まで体験したことのない言語がありましたら、お試し下さい!
目次
言語を選ぶ重要性と利用例
言語ごとに向き不向きがある
プログラミング言語は、言語によって使える・向いているシステムが異なります! 例えば、Webサイトを作りたい!と思っているのにC言語だけを学んでも、すぐにWebサイトは作れません! (プログラミングの基本的な考え方が身につくという意味では無駄ではありませんが、残念ながら遠回りです)
作りたいサービスやシステムがすでにある方は、必要となる言語をあらかじめ調べてから学習にとりかかりましょう。向いている・対応している言語と、システムは一般的にこのような一覧になります。
作りたいサービスに応じて、利用できる言語リスト
◎:必須 ○:使える -:向いていない
プログラミング言語/ 作りたいサービス | Webサイト | スマホサイト | ユーザーごとに 表示の変わるサイト | 機械学習/AI | IoT | 組込み系 | Androidアプリ | iPhoneアプリ |
---|---|---|---|---|---|---|---|---|
HTML | ◎ | ◎ | ◎ | - | - | - | - | - |
CSS | ◎ | ◎ | ◎ | - | - | - | - | - |
JavaScript | ○ | ○ | ◎ | - | - | - | - | - |
PHP | - | - | ○ | - | - | - | - | - |
Java | - | - | ○ | - | ○ | - | ◎ | - |
Python | - | - | - | ◎ | ◎ | - | - | - |
C++ | - | - | - | - | - | ○ | - | - |
C# | - | - | - | - | - | ○ | ○ | - |
Swift | - | - | - | - | - | - | - | ◎ |
Ruby | - | - | ○ | - | - | - | - | - |
R | - | - | - | ○ | - | - | - | - |
言語によって習得難易度が違う
もうひとつ、今から学習する方にしっておいてほしいのが、プログラミング言語によって未経験者にとっての習得難易度が異なることです。
HTMLやCSS、JavaScriptなどパソコンやブラウザベースですぐに始められる言語は、学習が始めやすい言語の代表です。いっぽう、JavaやC++、Swiftなど開発するための環境設定が必要な言語は、初心者には学び始める難易度が高いと言えるでしょう。
たとえばHTMLはマークアップ言語といい、OSに付属している「メモ帳」などのテキストエディタとブラウザがあればすぐに書き始められ、記述をすぐ修正して結果もすぐ表示されるなど学習コストが低く、仕組みがわかりやすい言語です。
一方、JavaやSwiftなどは、開発するための環境をパソコンにインストールする必要があり、プログラムを実行するためにコンパイルというマシン言語への翻訳作業が必要となるなど学習の前段階でつまづく入門者も多いです。
特に独学でプログラミングを学んでみよう!という方は、最初にとっつきやすい言語から学んび始めてみると良いでしょう。
筆者の独断ではありますが、初心者にとっての言語別の習得難易度を記載しておきます!
難易度:★が多いほど難しい
プログラミング言語 | 環境構築難易度 | 言語学習難易度 | 実行難易度 | コメント |
---|---|---|---|---|
HTML | ★ | ★ | ★ | ブラウザがあればすぐ書ける、結果が見える |
CSS | ★ | ★★ | ★ | 取り組むのは簡単、極めるのは奥深い |
JavaScript | ★ | ★★★ | ★★ | 取り組むのは簡単、応用範囲が広い |
PHP | ★★ | ★ | ★★ | 構築さえできれば、取り組みやすい言語 |
Java | ★★★ | ★★ | ★★★ | 環境構築、デバッグなど入門者のつまづきポイント多し、開発者多いためヘルプなどは充実 |
Python | ★★ | ★★ | ★★ | スクリプト言語のため学習しやすい |
C++ | ★★★ | ★★★ | ★★★ | 環境構築、実行環境を整える際に入門者のつまづきポイント多し |
C# | ★★★ | ★★★★ | ★★★ | 環境構築、学習、実行いずれも入門者には難易度高し |
Swift | ★★ | ★★ | ★★ | iPhoneアプリとして実行できるためイメージしやすい |
Ruby | ★★★ | ★★ | ★★★ | Javaの上位言語、学習しやすい |
R | ★★★ | ★★★ | ★★★ | 統計用の言語、必要があるときに学習するべし |
言語によって求人数が違う
ITエンジニア専門求人サイトなどをみると、求人票にはどの技術を使用するか必ず記載されています。また、フロントエンドやサーバーサイドなどプログラミング言語の用途別に求人が出されていることが一般的です。
技術の流行や市場のニーズに合わせて、求人数にはプログラミング言語別にトレンドがあります。転職やスキルアップのためにプログラミング言語を学習する予定の方にはぜひ知っておいて欲しいところ!
代表的なITエンジニア求人サイトで、プログラミング言語別の求人数を調べておきました。参考にしてみてください!
言語別の求人数
プログラミング言語 | リクナビNext | DODA | パイザ | キャリコネ | Indeed |
---|---|---|---|---|---|
HTML | 117 | 256 | 283 | 1642 | 7643 |
JavaScript | 104 | 380 | 889 | 2362 | 7093 |
PHP | 248 | 722 | 866 | 3605 | 9319 |
Java | 484 | 1729 | 990 | 5372 | 15893 |
Python | 87 | 301 | 255 | 1606 | 3378 |
C++ | 1172 | 701 | 393 | 998 | 5897 |
C# | 1172 | 669 | 552 | 882 | 6412 |
Swift | 34 | 92 | 278 | 805 | 1129 |
Ruby | 83 | 286 | 464 | 2200 | 3919 |
R | 5 | 8 | 26 | 22 | 313 |
調査日:2018年6月5日
正社員、パートなど、すべての雇用形態を含みます。
いずれのサイトも検索結果に重複(複数言語で同一企業が表示される)ありのため、実求人数と上記表の合計数は合致しません。
プログラミング言語別 年収/給与ランキング
プログラミング言語別の給与をランキングしている調査があります!
流行りはじめているが、技術者が少ないプログラミング言語を身に着けていると、よりよい条件の企業や案件を受けることができるため、給与も高い傾向があります。 また、歴史が長い言語で需要が安定しているモノは給与の増減幅が少なく安定する傾向にあるようです。プログラミング言語の習得で年収アップを狙っているかたは、学習の参考になるのでは?
ScalaやPythonは注目を集めている言語ですが、実務経験が十分にあるエンジニアがまだまだ少ないため、価値が上がっているようです。また、KotlinはAndroidアプリの公式言語となることが2017年にGoogle社から発表されたことで、モバイルアプリを開発している企業からのニーズが高まり続けています。
プログラミング言語のシェア率の遷移(歴史)
世界で利用されているプログラミング言語のシェア率の推移です。
次に流行る言語を先取りしたい!という方や、今から学ぼうとしている言語の需要が減少していないかどうかが心配の方は、こちらもぜひ参考にしてください。
画像出典:sourced Blog
このように見てみるとJavaやPHPが広いシェアのまま安定していることなどがよくわかりますね。
【2019最新版】今学ぶべきプログラミング言語まとめ(サンプルコード付き)
HTML/CSS
ウェブサイトを作るために使われている言語が、HTMLとCSSです。他の言語で、Webを使ったアプリを作る際にも、HTMLとCSSの知識が必要となってくるため、まずは押さえておくべき言語です!
また、コンパイルというプログラムの変換が不要なため、ブラウザとテキストエディタさえあれば作成できますので、初心者でも学習に取り掛かりやすいですよ。プログラミングがまったく初めてという方に、オススメの言語です。
HTMLはWebページの文章構成を決める記述に使います。また、CSSはページの配置や色、線などを決める記述に使います。どちらも体験してみましょう!
HTML を体験
HTMLページのサンプル(RUN をクリック)
CSS を体験
CSSのサンプル(RUN をクリック)
JavaScript
JavaScript は、Web サイトの制作から Web アプリの開発、Excel へのオリジナル機能追加や Photoshop・illustrator への自動処理機能追加、Mac PC への機能追加など幅広い場面で利用することができます。Web サイトの開発現場においては、特別な開発環境の構築が必要なく、直ぐにプログラムを書いて、テストできる特徴があります。
日本語のチュートリアルも充実しており、国内にも優れたメンターが多数いて学習しやすく、また Web サイトにしても アプリ開発にしても JavaScript はほぼ必須で登場してきます。
ワンポイント
Web サイトの 90%* 以上が JavaScript を使用
用途
- Web デザイン
- 大規模な Web アプリの開発/例 PayPal(金融)、JetBlue(チケットサービス)
- スクレイピング(データ収集)
- ハイブリッド型アプリの開発
- Web 対応のゲーム制作(canvas)
- Google シートや Excel への機能追加
- API など
できることの一例
フロント・サイド(端末で動かす JavaScript)
- ポップアップ表示
- スクロールエフェクト
- 図形描画・アニメーション
- チャット
- ToDO リスト
- ユーザー管理
- 支払の決済
- ページの自動更新(ノンブロッキング I/O)
- タスクランナー(Grunt)
- スクレイピング
フレームワークやライブラリの一例
- jQuery/全 Webサイトの約 72% で利用*/採用事例 freepik.com、freelancer.com など
- Angular.js/Google 社開発/採用事例 Upwork.com、YouTube.com、Lego.com など
- React.js/Facebook 社開発/採用事例 Facebook、Yahoo!mail、New York Times、Codecademy など
JavaScript を体験
ToDO リスト(RUN をクリック)
PHP
お問い合わせ機能やユーザー管理機能、ポイント機能など Web 機能を充実したい時に利用できる言語の一つになります。
CMS 最大手の WordPress が採用していることでも知られています。
PHPは世界中に利用者が多く、20年という歴史もありハイスペック、ほぼすべてのレンタルサーバーで利用可能。
そしてプライベートでの WordPress 利用をはじめ、フリーランス・デビューや就転職にも活かせるため 2番目の紹介にしました。
PHPについて詳しく知りたい方はこちらをご覧ください。
ワンポイント
Web サイトのサーバー・サイド 82.3%* で PHP が使用。 また PHP ベースの WordPress は、全サイトの 27.2% で利用中。
用途
- Web アプリケーションの制作 ユーザー管理 予約管理 SNS などのコミュニケーションアプリ RSS フィード ファイルの自動編集(画像のサイズ変更など)
- WordPress などの CMS
- ネット通販
- スクレイピング
- API
できることの一例
サーバー・サイド
- ブラウザからの Web ページ編集(コメントや写真投稿など)
- ブラウザからの入力数値をグラフ化
- 画像データの自動編集(サイズや解像度など)
- Facebook などの SNS と Web ページを連携
- 支払いシュミレーション(自動計算)
- 支払の決済
- 予約システム
- データ管理(データベース MySQL などとの連携)
PHP ベースの開発支援ソフト
開発支援ソフトについては、PHP が一番充実しています。 また無料で使えるものが多いのも PHP の特徴です。
- CMS WordPress Craftcommerce.com など
- フレームワーク Symfony/採用事例 Tagheuer.com(タグホイヤー)、BlaBlaCar CakePHP/採用事例 Mapme.com、followmy.tv など
- プラットフォーム LiteCart や OpenCart など
- ライブラリ UpLoad や pChart など (『PHP 開発が爆捗る PHP ライブラリ 10 選』)
PHP で動いているサイト一例
- Wikipedia
- flicker
PHP を体験
Java
プログラミング言語の王道ともいえる Java。今までの JavaScript や PHP と違って、作成したプログラムを一度コンパイルして動作させるため、プログラミング初心者からは敬遠されがちな言語になります。
しかし、一度書けばどこでも動く、と言われるほど Web アプリから Android、iOS、Windows、Mac、ゲーム、IoT、ブルーレイ・プレイヤー、ATM など幅広いジャンルで活用することができます。
ワンポイント
プログラミング言語の中でも常に一番多い求人数で、食いっぱぐれることがない言語になります。また Android アプリの開発は、Java メインで使われています。 Oracle 社いわく、Java は No.1 プログラミング言語といわれています。
用途
- Web アプリ(大規模向け)
- モバイル・アプリ
- デスクトップ・アプリ
- カーナビ
- POSシステム(レジ)
- SONY 製品対応アプリの開発*
- 社内システム(日報や勤怠管理など)
- 株式などのトレードシステム
- 信号システムなどのインフラに
- 機械学習に(人工知能) など
できることの一例
他の言語でできることは一通りできるのが Java です。 ここでは Java らしい高度な Web 機能をご紹介します。
- ”もしかして知り合い? ”や ”これを見た人は他にこんなものも見ています” などの予測機能
- 数億人以上を管理できるユーザー管理機能
- インタラクティブな試算提示機能
- グラフィカルなユーザー管理画面機能
- 機械学習機能 など
フレームワーク 一例
- Spring/採用事例 NTT Data や東芝ソリューション㈱ など
- Play/採用事例 GitHub や Linkedin など
Javaで動いているサイト・アプリ 一例
- amazon.com
- Coursera.org
- NASA*
- Atlas Trader(取引システム)
Javaを体験
4番目以降は少し簡略化してご紹介させて頂きます。
Python
コードがシンプルで、海外で人気のあるプログラミング言語になります。主にサーバーサイドやソフトウェアの中で動いているので身近には感じませんが、日頃お世話になっている YouTube や Instagram などの中で Python は動いています。 Web 以外では、最近注目のデータ・サイエンスやビッグデータ、AIなどの分野でも Python は活用されています。
ワンポイント
用途
- Web アプリケーション
- CMS
- ゲーム
- スクレイピング
- 機械学習やディープマイニングなどの AI 産業
- ビッグデータ解析
- CAD などのソフトウェア
- 宇宙や地球工学などのシュミレーションソフト
- 電力などの数値解析用ソフト
- エクセル*
競合言語 PHPとの比較
Pythonを体験
(Execute をクリック)
C++
画像出典:isocpp.org
処理速度 最速 といわれる C系 も外せないプログラミング言語です。自動運転自動車やゲーム、ブラウザに OS、IoT、ロボット、など私達の生活に欠かせないインフラを C++/C は支えてくれています。
また Windows ユーザー必須の Visual Studio を活用しようと思うと、C++ が使えると便利です。C++ は、C に比べてオブジェクト指向を組み入れていますので、プログラミング初心者でも比較的入りやすい言語と思います。Java のようにコンパイル作業が伴う言語になります。
C++ を体験
決まった計算を 36 回行うプログラム(Loop) (Compile をクリックして、Execute をクリック)
C(#)
C#は、Visual Studio ユーザーにとって大変役立つプログラミング言語になります。C# が使えると、Visual Studioベースで Web や iOS や Androidのアプリ開発をバリバリ行うことができます。
ちなみに C# は、C と付きますが C/C++ とは全く異なる言語で、Microsoft 社が独自に開発したプログラミング言語になります。C# は、Microsoft や Google が参加する .NET Foundation にて管理・運営されて、国際基準(ECMA)によって標準化されている言語になります。
C# を体験
自分は何日間生きてきた? (Compile をクリックして、Execute をクリック)
Swift
2014 年に華々しくデビューした Apple 社開発のプログラミング言語になります。iOS、OSX 向けアプリ開発はもちろん、Web アプリケーションの開発言語としても注目を集めています。
最近では、Swift オープンソース化* の影響もあって、開発に便利なフレームワークや SDK もリリースされています。iOS については、端末側の開発もサーバーサイドの開発も Swift 一つで作り上げることができる特徴があります。
ただし、開発現場では未だに Objective-C のシェアが大きく、TOP 100 APP の内 Swift 利用は 1 割ほど* に留まっています。
競合言語 Objective-C との比較
video : Best Developer Videos."Comparing Swift and Objective C " YouTube.2015-08-17.Web.2016-12-20
Swift で作られた iOS サンプル
- FireFox
- WordPress iOS版
- Flappy
Swift を体験
Ruby
国産のプログラミング言語で愛用者も多い言語の一つになります。手軽で分かりやすく、そして美しいプログラミング言語といわれる Ruby。多くの日本人エンジニアを魅了し、京都大学や島根大学など一部の大学でも講義され、絶え間なく Ruby エンジニアが育成されています。
またアプリの開発速度を爆速化させる Ruby フレームワークの Ruby on Rails が有名です。Ruby は、素晴らしいプログラミング言語と思いますが、求人数や Web での利用率(0.6%*)が小さいことから8番目とさせて頂きました。
名言
- 「Ruby は楽しくかけるからいい」 クックパッド エンジニア*
- 「実際に創ることを通してRuby on Railsが楽しく学べる」 ソーサル エンジニア*
- 「ちなみにおれが四年前に Ruby を選ぶ決め手になった理由は 「Ruby のほうが名前がカッコいい」であった」 Ruby エンジニア 青木さん*
Ruby(Ruby on Rails)事例
- クックパッド
- Airbnb
- Hulu
- Crowdworks
- 島根大学
- 水族館のエンタメソフト*
Ruby を体験
(Execute をクリック)
競合言語 PHP や Python との比較動画(2012)
video : Archie Abrams."PHP v. Ruby v. Python - Which One is the Best?" YouTube.2012-07-16.Web.2016-12-20
R
*。マーケティングや新規サービス、新規産業に期待できるビッグデータの活用には統計学が欠かせません。 その統計学を効率よくサポートしてくれるプログラミング言語のひとつに R があります。Rは、統計学以外に人工知能分野の機械学習やディープラーニングにも活用することができます。
利用ケース
- DeNA(モバゲー)*
- NTT DATA(Visual R Platform という商品に)
R を体験
R のグラフィカル感を体験してみましょう (Run クリック後、4,5秒で解析画像が表示)
競合言語 Pythonとの比較
Blockly
2020 年小学校でのプログラミング必修化に向けて、Scratch をやったことのある方も多いのではないでしょうか?Blockly は、Scratch のようなブロック・プログラミングをより本格的なプログラミングへとステップアップするのに役立ちます。
Xcode や Android Studio、もしくは Web 用のソフトを使って、Blockly で開発したブロック・プログラムをアプリへと発展させて楽しむことができます。また制作したブロックの動きは、JavaScript や PHP、Python としてコードチェックすることができます。そんなスゴイ Blockly、Scratch ユーザーは必見ですよね。
尚、Blockly は Code.org の中でも利用され、2017年末には Scratch3.0 と統合予定で、Blockly で作ったアプリをScratch でも使える予定です*。一部日本語に対応済みですが、英語のドキュメントが多く、日本語・英語の情報も少ない現状があります。逆にいえば、Blockly をいち早く学習し、情報発信すれば商機も生まれるかもしれませんね。
Blockly を体験
まとめ
ビビッとくる言語はありましたか?
言語の比較というと一般的に TIOBE や IEEE、RedMonk、GitHub Ranking などの統計が使われますが、今回は社会的ニーズと学びやすさ、そして将来性を視野にプログラミング言語をご紹介させていただきました。
CodeCampusを運営するCodeCampではこれからプログラミングを学びたい方へ無料体験を行なっています。
以前挫折した人や、独学では無理だと思う人などは一度受けてみるとよいでしょう。自分が学ぶべきプログラミング言語がわかるかもしれませんよ。
こちらも合わせてどうぞ。
2018/6/5 記事追記改訂:のりぴよ
0 コメント:
コメントを投稿