これからの時代はプログラミングって聞くけどどの言語がいいの?
最近、ニュースや新聞でも「プログラミング」という言葉を目にする機会が増えてきたように思います。今までプログラミングに対して興味を持っていなかった人も、スマホやアプリが身近になったことで「自分でアプリ開発したい」「Web サイトを作りたい」と思う人が増えてきました。また世間ではプログラマー不足といわれ、職業としても日に日にプログラマーの存在が増してきています。
そんな注目を集めるプログラミングですが、その言語は現在 705 種類あり(Wikipedia)、プログラミング入門者にとってどの言語を学べばいいのか不安に思う方も少なくありません。そこで今回は、そんな不安を払拭し、一人でも多くの方が納得してプログラミング学習を始められればいいなと思い、情報をまとめてみました。
Contents
これからの時代はプログラミングって聞くけど、どの言語がいいの?
まず最初に各調査機関が公表している人気のプログラミング言語をチェックしてみたいと思います。
各調査機関のプログラミング言語ランキング
現在の開発現場や研究機関によるプログラミング言語のシェアやランキングは以下の通りになります。最先端の開発現場や市場で使われているプログラミング言語を知っておくと、どのプログラミング言語にニーズが集まっているか参考にすることができます。
IEEE | TIOBE | Devpost | GitHub | RedMonk | |
1位 | Java | Java | HTML/CSS | JavaScript | JavaScript |
2位 | C | C | JavaScript | Java | Java |
3位 | C++ | C++ | Python | Ruby | PHP |
4位 | Python | C# | Java | PHP | Python |
5位 | C# | Python | C / C++ | Python | C# |
6位 | R | Objective-C | PHP | CSS | C++ |
7位 | PHP | PHP | Objective-C | C++ | Ruby |
8位 | JavaScript | Visual Basic .NET | C# | C# | CSS |
9位 | Ruby | JavaScript | Swift | C | C |
10位 | Matlab | Perl | JSON | HTML | Objective-C |
■表内補足■
- IEEE/アメリカの電気工学技術学会誌によるランキング。(2015)
- TIOBE/ Google や Yahoo!、Baidu、MSN などの検索エンジンにも活用されているプログラミング言語の指標 TIOBE Index。(Sep.2015)
- Devpost(Student Hacker Report)/ソフトウェア開発者が集うコミュニティーサイト Devpost(ユーザー40万以上)内で使われているプログラミング言語の割合。(2014-2015)
- GitHub/GitHub 内で使用されているプログラミング言語の割合。(2015)
- RedMonk/GitHub と Stack Overflow に由来したプログラミング言語のランキング。(June.2015)
また時代と共にプログラミング言語のランキングも移り変わっています。以下に GitHub と TIOBE の統計データ推移を掲載します。
■ GitHub ■
■ TIOBE ■
各調査機関のランキングと年代別プログラミング言語のシェアからみても、Java が安定的に人気のあるプログラミング言語であることが分かります。当面このトレンドは続くと予想され、世界的に注目されているプログラミング言語になります。
プログラミング言語と仕事量の関係
プログラミング言語の種類と求人数の関係はまとめにくいですが、フリーランス市場においては一定の関係を確認することができます。以下に世界的フリーランス市場の Upwork と国内を代表するランサーズとクラウドワークス内で、どれぐらい仕事数があるか各プログラミング言語毎にまとめてみました。(2015.9.19 時点)
Upwork | ランサーズ | クラウドワークス | |
Java | 1388 | 54 | 59 |
JavaScript | 3174 | 38 | 75 |
Ruby | 468 | 16 | 45 |
PHP | 4380 | 60 | 92 |
Python | 556 | 6 | 39 |
HTML | 4772 | 148 | 194 |
CSS | 3126 | 51 | 86 |
Swift | 233 | 6 | 4 |
Objective-C | 387 | 8 | 12 |
この表からは、上記でまとめた各調査機関によるプログラミング言語のランキングとは異なる傾向にあることが分かります。仕事については、Java よりもHTML や PHP、JavaScript、CSS といった Web 開発の基礎言語にニーズがあることが分かります。
人気プログラミング言語の特徴
- Java/Web や Android のアプリ開発など幅広い分野で利用。コンパイル後、Windows や Mac、UNIX など環境を問わず実行可能。
- C/実行速度最速の異名をもつプログラミング言語。Windows や Linux などの OS にも 使われている言語。
- C++/C 言語にオブジェクト指向等多彩な機能が追加されたプログラミング言語。
- C#/Java と C++ のいいとこどりの様な言語。
- Objective-C/iPhone アプリの制作に必要だった言語。現在は Swift がメインロード。
- Python/Ruby や Perl に比べると読みやすい言語として人気。DropBox や YouTube などのシステム開発に利用。
- PHP/Web アプリケーション開発に必要な言語。WordPress に使われていることで有名。
- Ruby/日本人が開発したプログラミング言語。コンパイル必要なく、すぐにプログラム実行できる特徴。クラウドワークス社や島根県庁など国内多くのシステムで活用(Ruby 事例集)。
- Swift/アップル社が開発した iOS 用のプログラミング言語で、早い・安全・モダン・シンプルな特徴。
- HTML/Web、アプリ共に何かと必要なマークアップ言語(正式にはプログラミング言語には属さない)。
- CSS/文字の大きさやなど、コンテンツのスタイルを決めるマークアップ言語(正式にはプログラミング言語には属さない)。
- Go/Google 社が開発しているプログラミング言語。シンプルな構文で、クロス・コンパイルができ、巨大プロジェクト向きとされる。利用者急上昇中の要注意プログラミング言語。
そもそもプログラミングが必要な理由
mimo
なんとなくこれからの時代には、プログラミングが必要と思っている方も多いと思います。プログラミングができれば「働き口がある」や「高給に期待できる」「モテる」「グローバルに仕事ができる」「時間と場所に縛られない働き方ができる」など漠然としたイメージを持っている方が多いと思います。しかし、「働き口」や「高給」のイメージの裏には明確な理由があり、その中でも IoT(Internet of Things) の急速な拡大は影響が大きいと考えられます。
モノとネットをつなぐ IoT の技術は、アプリやソフトウェアを介して私たちの生活をより豊かにしてくれ、スマホ市場・ウェアラブル市場の拡大に伴って私たちの生活に浸透しつつあります。例えばアメリカで生まれた SIDS(乳幼児突然死症候群)を予防するためのウェア「mimo」。世界中の忙しいママと赤ちゃんを毎日安心して過ごせるように、赤ちゃんの様子をサポートしてくれます。家庭分野以外にも、産業、住宅、車などありとあらゆる場面で今後も IoT が拡大していくと考えられ、そのためにはプログラミングとプログラミング的思考が社会で働くために必須と考えられています。(Iot 事例集)
未来のプログラミング市場を考える上で参考になる数字
- 国内の IoT 市場/ 2014 年 約9.4 兆円 → 2019 年 16.4 兆円まで拡大予想*IDC
- 中国の IoT 市場/2030年 60 兆円まで拡大予想(今から累積で約 216 兆円規模)*telecomasia
- 国内のアプリ市場/2013 年 8,200 億円
- 国内のインターネットGDP/2011 年 約19.2 兆円 → 2014 年 約23 兆円(運輸業に相当)
未来のプログラミング市場を考える上で参考になる世界の動き
- アメリカ 2020 年までに 100 万人近くのプログラマーが不足するという予報
- 年収 2000 万円の高給取りプログラマーも存在
- サイバーエージェント社は、次世代のプログラマーを養成すべく小学生向けプログラミング教室を展開
- イスラエルは 2000 年から高校授業にプログラミング科目を採用
- イギリスは 2014 年からプログラミング学習を義務化(対象 5 から 16才)
- オーストラリアは 2016 年からプログラミング学習を義務化(対象 8 から 13才)
- フィンランドは 2016 年からプログラミング学習を義務化(対象 7 から 16 才)
世界が社会がプログラマーもしくはプログラミング知識者を必要としていることが分かります。
まとめ
いかがでしたでしょうか?実際に一からプログラミングを学習しようと思って、まずはランキングの高い Java から学習を始めても、ハイ・ストレスな時間が待っていると思います。プログラミングの義務教育を導入しているイギリスのカリキュラム(pdf 6MB)を参考にしてみると、まずはゲーム等を通じてプログラミング的思考(アルゴリズム)を学び、そのあと Scratch などでプログラミングの感覚に慣れ、コーディングするという過程が採られています。なので、興味のある方はまずゲーム感覚でプログラミングを体験してみてはいかがでしょうか?
今すぐ始めたい人必見!ゲームでプログラミングが学べるサイト10選
【無料で入門!】ゼロからプログラミングが学べるWEBサービス14選
**プログラミング言語とマークアップ言語
本記事は、プログラミング未経験者にプログラミング世界の様子を知ってもらおうと思い、制作したブログ記事になります。そのため本来はマークアップ言語として分類される HTML や CSS も、Web やアプリ開発には欠かせない言語となるので、プログラミング言語の一種として掲載・考察しています。
オシママサラ
最新記事 by オシママサラ (全て見る)
- これからの時代はプログラミングって聞くけどどの言語がいいの? - 2015年10月5日
- Webデザイン初心者のためのWebフォント基礎知識とフォントサービス5線 - 2015年10月3日
- モックアップ作成を強力サポート!Prototyperを徹底解説 - 2015年9月25日