これからプログラミングを始めようとするなら、どのプログラミング言語を選択するのが良いのでしょうか。
今回は、日経 xTECHが公開している「プログラミング言語実態調査」の結果から、いくつかの言語をピックアップし、僕の経験も交えて比較してみようと思います。
プログラミング言語を選択する必要があるのか
僕自身やこれまでに出会った人を見ても、1つだけの言語を使って仕事を続けている人はほとんどいません。案件によって使う言語は異なりますし、使う場面によって向き・不向きがあります。ですから、経験を積むと2,3個のプログラミング言語を使いこなしながら仕事をしていくのが当たり前になります。
とは言え、最初から複数の言語を同時に学習していくのは、効率の良い学習方法とは言えませんので、まずはどれか1つを選択することになります。そして今回紹介するプログラミング言語は、1つがある程度出来るようになると、その他の言語も勉強しやすく、応用が効きやすいものを紹介します。
比較軸
5つの評価軸で比較してみます。★3個で最も評価が高くなります。
評価軸 | 説明 |
---|---|
はじめやすさ | 環境準備のしやすさや言語のとっつきやすさ(最初に覚えることが多いかなど)を表します。 |
情報収集のしやすさ | Web上に情報がたくさんあるか、ハマったときに解決する情報が探しやすいかを表します。 |
求人数 | 就職のしやすさを表します。 今回は求人サイトのdodaとIndeedの求人数(執筆時点)を参考にします。 |
年収 | 就職後に得られる年収の期待度を表します。 今回はビズリーチが公開している「求人検索エンジン「スタンバイ」プログラミング言語別年収ランキング2018」を参考にします。 |
個人的おすすめ度 | 僕の経験からの個人的おすすめ度を表します。 |
5つの言語を比較
Python
機械学習の分野でよく用いられる言語です。元々、日本よりも海外で人気の高い言語でしたが、近年は機械学習分野だけでなく、Webアプリケーションを作る言語としても用いられることが多くなってきました。
はじめやすさ | ★★☆ | Windowsユーザは最初にインストールや設定が必要で、多少の手間はかかりますが、エディタが1つあれば簡単に始めることができます。 |
情報収集のしやすさ | ★★☆ | 情報はたくさんありますが、Python2とPython3で言語仕様が異なりますので、情報収集の際は注意が必要になります。 |
求人数 | ★★☆ | dodaが1,266件、Indeedが15,221件でした。それなりに求人があると言えます。 |
年収 | ★★☆ | 機械学習系の仕事においては年収が高めになります。 |
個人的おすすめ度 | ★☆☆ | 機械学習系を目指す方であればおすすめしますが、そうでない場合はあえて選択するメリットはないと考えています。 |
JavaScript
昔はブラウザ内で動くアプリケーションを作るための言語して使われていましたが、近年はサーバーサイドでのJavaScript(Node.js)で用いられることも多く、言語としての幅が広がりました。
はじめやすさ | ★★★ | ブラウザとエディタがあればすぐに始めることができます。サーバーサイドの場合は、Node.jsをインストールするなどの若干の手間はかかります。 |
情報収集のしやすさ | ★★☆ | 情報はたくさんありますが、HTMLやCSSと絡めた情報も多く、欲しい情報にたどり着くまでが大変かもしれません。 |
求人数 | ★★☆ | dodaが1,282件、Indeedが15,736件でした。ただし、フロントエンドの場合は、HTML/CSSなどの他の技術の知識が必要となります。 |
年収 | ★☆☆ | JavaScript単体だけではなく、他の技術や言語と組み合わせることで年収があがっていきます。 |
個人的おすすめ度 | ★★★ | 他の言語も学習する前提で、最初にJavaScriptを学習するのは良いと思います。プログラムの基本的な知識を身に着けた後に、他の言語を学習することをおすすめします。 |
Java
企業の基幹システムやインフラ系のシステムの言語としてよく用いられる言語です。昔はWebアプリケーションの言語としてもよく用いられてきましたが、最近は他の言語に座を明け渡し、バックエンドの重要部分に用いられることが多くなってきました。
はじめやすさ | ★☆☆ | エディタ1つで開発するのは難しく、IDEと呼ばれる開発環境を整えることが一般的です。環境準備の作業や覚えることも多く、手間がかかります。 |
情報収集のしやすさ | ★★★ | ある程度歴史のある言語なので、情報は多く、言語仕様もあまり大きく変わることがないので、比較的昔の情報でも利用することができます。 |
求人数 | ★★★ | dodaが2,826件、Indeedが25,310でした。求人数は今回の中ではTOPでした。 |
年収 | ★★☆ | 求人数は多いものの、技術者の数も多いので、年収としては他の言語とあまり変わりません。 |
個人的おすすめ度 | ★★☆ | 最初の学習は大変ですが、これまでにJavaで作られたシステムもたくさんあるので、永く使える言語になると思います。 |
Ruby
日本で生まれた言語で、主にWebアプリケーションの言語としてよく用いられる言語です。
はじめやすさ | ★★☆ | Ruby自体はWindowsでも使えるのですが、開発で使うツール等が対応していないなどあり、実際の現場ではRubyをWindowsで使うことはほとんどありません。 その意味ではWindowsユーザにははじめやすいとは言えないと思います。 |
情報収集のしやすさ | ★★★ | 日本で作られた言語だけあって、日本語の情報が充実しています。 |
求人数 | ★★☆ | dodaが761件、Indeedが8,681件でした。他の言語に比べると少なめに見えますが、実際の求人は割と多い印象があります。 |
年収 | ★★☆ | 比較的技術者が多く、一般的なWebアプリケーション開発の案件が多い(特殊な技術要素があまりない)ので、年収はそれほど高くありません。 |
個人的おすすめ度 | ★★☆ | Ruby on Railsと組合せたWebアプリケーションの作成においては、学習のしやすさ、案件数ともにNo.1だと思います。2020年においては、これだけを学習すれば仕事には困らない状況になると思います。 |
Go
主にバックエンド側のシステムに用いられ、Javaよりも簡単に記述、実行することが出来る言語として、近年人気が高まってきました。
はじめやすさ | ★★☆ | WindowsもMacも変わらず使えるのではじめやすいですが、基本的にはコンソールで結果を確認するなど、視覚的な部分が乏しいので、慣れるまでは大変かもしれません。 |
情報収集のしやすさ | ★☆☆ | 比較的新しい言語であるため、情報としてはそれほど多くありません。 |
求人数 | ★☆☆ | dodaが941件、Indeedが1,650でした。近年はGoを採用する案件も増えてきたので、求人数も増加傾向にあると言えます。 |
年収 | ★★★ | 技術者が少ないため、希少価値が高く、年収も高めになります。 |
個人的おすすめ度 | ★★★ | これから伸びていく言語だと思います。情報も少ないので学習は大変ですが、その分得られるメリットも多く、個人的にはおすすめです。最初に別な言語を学習して、第2言語として学習するのも良いと思います。 |
番外編
「プログラミング言語実態調査」に掲載されている言語ではあるものの、システムやアプリケーションを作るために避けては通れないものを番外編としてピックアップしました。
個人的には、どちらも言語というよりは、必須の技術要素だと考えています。
SQL
データベースを扱う際に利用する言語です。
近年はデータベースを利用しないアプリケーションは殆どないと思いますので、特にバックエンドのアプリケーションを作る際には必須の技術要素となります。
HTML/CSS
ブラウザに表示されるアプリケーションを作るための言語です。
特に近年はインストールするタイプのアプリケーションよりも、ブラウザを使うアプリケーションの割合が増えてきているので、特にフロントエンドのアプリケーションを作る際には必須の技術要素となります。
結論
僕の中では、今回紹介した5つの言語であれば、正直どれから始めても良いと思っています。おそらくまた別の言語を学習することになると思いますし、2つ目の言語を学習するときの有利さも大きく変わらないと思っています。
大事なのは、早く決めて早く始めること、そして継続的に学習を続けることかなと思います。
以上です。
コメント