キャリアアップやスキルアップのためにプログラミングを勉強したいと思ったは良いものの、どの言語を選べば良いのか分からないという悩みは、プログラミング初心者が最初にぶつかる壁の1つと言えるでしょう。
そこで、今回は現役エンジニア30名にアンケートを実施し、プログラミング初心者におすすめのプログラミング言語を調査。その結果をもとに、おすすめのプログラミング言語ランキングを作成しました。
目次
結果発表|エンジニア30名が初心者におすすめするプログラミング言語は「Java」
Q.プログラミング未経験者が転職を前提にゼロからプログラミングをスタートする場合、最初に学ぶ言語やスキルとしておすすめなものを教えてください。(複数選択可)
- Java……12名
- PHP……9名
- Python……8名
- Ruby……6名
- ネットワーク関連……4名
- JavaScript……4名
- その他……7名
アンケート実施日:2019年11月25日〜2019年11月28日
現役エンジニア30名にWeb上で「プログラミング未経験者が転職を前提にゼロからプログラミングをスタートする場合、最初に学ぶ言語やスキルとしておすすめなものを教えてください。」というアンケートを実施したところ、30名中12名のエンジニアが「Java」と回答する結果になりました。
また、今回のアンケートでは、その言語をおすすめする理由もあわせて回答していただきました。次の見出し以降では、「エンジニアたちがそれぞれの言語をプログラミング初心者におすすめする理由」もご紹介します。
※その他に含まれる回答は、Go言語、C言語、サーバー関連、エクセル VBAです。
初心者におすすめのプログラミング言語ランキング
今回のアンケートから、初心者におすすめのプログラミング言語ランキングは下記の通りとなりました。
初心者におすすめのプログラミング言語ランキング
順位 | 言語 |
1位 | Java |
2位 | PHP |
3位 | Python |
4位 | Ruby |
5位 | ネットワーク 関連 |
5位 | JavaScript |
ランキング順に、エンジニアがそれぞれの言語をおすすめする理由を紹介していきます。
1位.Java
まずは、30名中12名のエンジニアが選んだ、第1位のJavaについて。
Javaは、WebシステムやAndroidアプリなどに使われている言語です。(銀行などの)大規模な業務システムの開発で利用されることが多いため、企業ニーズが高く、就職で有利に働くことも。
また、Javaを学ぶことで、プログラミングにおいて汎用性の高い基礎知識に触れられるという良さがあります。
エンジニアがJavaを選んだ理由を見てみましょう。
- Javaは、昨今のさまざまなプログラミングへの応用が利くため、入り口としてJavaを体得することは、合理的だと思います。(30代男性 プロジェクトマネージャー)
- Javaは幅広く用いられていて需要の高いプログラミング言語なので、より多くの選択肢をもつという意味でも転職を前提とするならオススメだと思います。(30代男性 業務系システムエンジニア)
- まずJavaは圧倒的に母数が多く、それができない時点で不利だと考えられるから。クラスの概念等、ほかの言語を勉強する土台としても適切だと思います。(30代女性 Java/C言語/PHPエンジニア)
Javaをおすすめする理由としては主に2つのことが挙げられました。
1つ目は、「Javaは広く使われている」ということ。先ほどご説明したように、Javaは企業ニーズが高いため、ほかの言語と比べても求人数が多い傾向にあります。
2つ目は、「最初にJavaを学ぶことで、ほかの言語も学びやすくなる」ということ。初心者が、プログラミングをするうえで必要な考え方を身につけるにはおすすめの言語だと言えます。
Swiftに関心がある方は「2019年版|Swiftに強いおすすめのプログラミングスクールTOP4を徹底比較」をご覧ください。
2位.PHP
続いて、30名中9名のエンジニアが選んだ、第2位のPHPを紹介します。
PHPは、Webサービスの開発の現場で使われることの多い言語です。
PHPは、Webサイトやブログを作る際のソフトとして有名な「WordPress」で使われており、クラウドソーシングのプラットフォーム上でもPHPのスキルを必要とする案件は多く見られます。
PHP関連の案件は個人でも仕事を受けやすい傾向にあるので、フリーランスとしての収入を得たり、副業で稼いだりしたいという方はPHPを学ぶのがおすすめです。
エンジニアがPHPを選んだ理由を見てみましょう。
- Web系ではほぼ必須の言語のため。(30代男性 業務系システムエンジニア)
- PHPにいたっては習得の難易度が低く、大手企業から中小企業まで取り入れている企業も多く、その分求人数自体が多くて転職の門戸が広いからです。(20代男性 サーバーエンジニア)
- 言語のルールがゆるく、書きやすい。またWebサービスなどを作りやすいため、作成物がわかりやすい。(30代男性 システムエンジニア)
PHPをおすすめする理由として多かったのは「成果物が目に見えやすい」という意見でした。
WebサービスやWebサイトに備わっている予約システムや検索機能は、PHPの技術が使われることが多いです。このように、PHPで作ったものは目に見えやすく、「作った感」を持ちやすいことから、エンジニアからも「成果物が目に見えやすい」という意見が出ているのです。
ただし、WebサイトやWebアプリケーションの制作には、HTML/CSSの知識も欠かせません。PHPを学ぶ場合はHTML/CSSもセットで学びましょう。
3位.Python
3位に選ばれたのは、人工知能やデータ解析の分野で使われることの多いPythonです。
Pythonは、ビックデータ解析やAI(人工知能)、機械学習など最先端技術の領域で使われている言語です。海外での人気が高く、アメリカの大学ではプログラミングの入門クラスでPythonが人気を集めているほどです。
エンジニアがPythonを選んだ理由を見てみましょう。
- Pythonは構文が簡単な上、機械学習などで注目されているため、学習する機会が多く求人も多いため、おすすめです。(20代男性 社内システムエンジニア)
- やや難しいですが、今後のAIやIoTといった先進技術の仕事を受けるためにも、早めに学習を進めておくとよいと考えます。(30代男性 プロジェクトマネージャー)
- Pythonはこれからの時代に必要なプログラミングだと思います。現在だけを考えるのであればJavaやPHPなどはいいと思うが、若い人にはPythonがいいと感じます。(30代男性 サーバーエンジニア)
Pythonを選んだエンジニアの多くが「Pythonはこれから一層の注目を浴びて、勢いが増す」と回答しています。日本でもより盛んになっていくであろう、AI(人工知能)や機械学習、ビックデータ関連の事業に関心がある方は、Pythonを学んでおくといずれ役に立つ時が来ることでしょう。
4位.Ruby
4位には、日本人が開発した言語としても有名なRubyがランクインする結果となりました。
Rubyは、日本人のまつもとゆきひろ氏によって、「プログラミングを楽しむ」ことを目的として開発されました。それゆえ、ほかの言語と比べても、少ないコード量で開発することができ、開発効率の良い言語として知られています。
Webアプリケーション開発に使われることが多く、料理検索サービスの「クックパッド(Cookpad)」にもRubyが使われています。
エンジニアがRubyを選んだ理由を見てみましょう。
- 基礎から応用まで学ぶことができるのはもちろんですが、「すぐに実践しやすいスキル」を身につけることができるからです。(30代男性 Rubyエンジニア)
- 実際に現場で使って生かしていけるような実践的なスキルを身につけるためのノウハウが一からしっかりと身につくからです。(30代女性 Rubyエンジニア)
- プログラミングをして身につけていくうえで大事な要素を基礎的なところから応用までしっかりカバーしているからです。(30代男性 Rubyエンジニア)
Rubyを推薦したエンジニアからは、「Rubyを学ぶと、プログラミングを学ぶうえで必要な基礎から応用までの知識を身につけられる」という意見が多く寄せられました。
また、Rubyは日本で開発された言語ということもあり、日本語でアクセスできる教材や参考資料が豊富なので勉強がしやすいというメリットもあります。
5位.ネットワーク関連
5位には「ネットワーク関連」と「JavaScript」が同列で並びました。まずは、ネットワーク関連について紹介します。
ITエンジニアのなかには「ネットワークエンジニア」と呼ばれる職種があります。ここでいうネットワークとは、コンピューター間でデータや情報を送ったり受け取ったりするための経路のことです。この経路を構築したり(設計構築)、メンテナンスしたり(運用保守)することが、ネットワークエンジニアの主な仕事になります。
エンジニアがネットワーク関連を選んだ理由を見てみましょう。
- 世の中クラウド、クラウドといわれていますが、何はともあれネットワークの知識がないと何も始まりません。ですので最低限でもOSIの7階層モデルが何であるか、というのは理解しておくべきです。
トラブル時の解決能力に差が出て、結果、自身の評価にもつながります。(30代男性 DBエンジニア) - ネットワークエンジニアの場合はだと昔はLAN、WANの知識だけあれば十分でしたが最近でメールサーバ、Domain Name System、WWWサーバなどコンピュータ関連の知識も必要となっています。
難しそうな印象ですが慣れればそこまで難しくないと思うので、プログラミング未経験者が転職を前提にゼロからプログラミングをスタートする場合におすすめです。(30代男性 ネットワークエンジニア)
ネットワークエンジニアの業務すが、Webサービスやスマホアプリを開発する開発エンジニアと比べてコードを書く機会が少なく、未経験者でも取り組みやすいと言われています。
ネットワークエンジニアを育成し、 CCNAという資格取得と転職支援を2ヶ月間で行う専門スクールに「ネットビジョンアカデミー」があります。ネットワークエンジニアに関心を持った方は、下の関連記事をぜひご覧ください。
5位.JavaScript
続いて、JavaScriptについてご説明します。
JavaScriptは、Webサイト制作やスマホアプリなど、さまざまな場所で使われる言語です。
多くのプログラミング言語では始める前に、開発環境という「その言語で作ったプログラムを動かすための環境」を使用するパソコンに構築する必要があります。その点JavaScriptは開発環境を必要としないので、すぐに始められるという点で初心者向きであるとされています。
エンジニアがJavaScriptを選んだ理由を見てみましょう。
- JavaScriptをおすすめします。特にパソコンがあまり得意でない方にはおすすめです。理由は特別な環境構築やコンパイルが不要で、書いたらすぐ動かせるからです。
RubyやPythonはモダンな言語で需要もありますが、プログラミング未経験者にすすめるにはハードルが高いような気がします。環境構築でつまずいてモチベーションを下げてしまうのはもったいないですし、コンパイルも面倒に感じるのではないでしょうか。
JacaScriptはコードを書いてすぐブラウザで動かせるし、何ができるかイメージしやすいのでおすすめします。(30代女性 フロントエンドエンジニア) - クライアントサイド、サーバサイドともにこなせる言語であるから。(30代男性 物流系システムエンジニア)
開発環境が不要なJavaScriptですが、実務で生かすためにはJavaScript単独の知識だけでは不十分です。HTML/CSSや、Ruby、PHPなどの言語をセットで学ぶことで、就職先や受けられる仕事の選択肢が広がります。
初心者におすすめのプログラミング言語とは?エンジニア30名分の回答を全て公開
今回集めたアンケート結果を全て公開します!
性別 | 年齢 | 職種 | 言語 | 理由 |
女性 | 30代 | Java/C言語/PHPエンジニア | ・Java ・PHP |
まずJavaは圧倒的に母数が多く、それができない時点で不利だと考えられるから。
クラスの概念など、ほかの言語を勉強する土台としても適切だと思います。 |
女性 | 30代 | Javaエンジニア | ・Java | JavaはさまざまなWEBのフォーマットなどで使用可能な言語ですので、今現在でも将来性があり、活用できる機会が広がっているからです。 |
男性 | 30代 | システムエンジニア | ・Java ・PHP ・Python ・エクセルVBA |
エクセルのVBAが、簡単にプログラムとは何かを理解しやすいと思います。
マクロで実際の操作をしてみてコードを読むという流れでやれば理解が進むと思います。 Javaは業務系、PHPはweb系、pythonは統計解析や機械学習で需要があるので、実際に転職するならおすすめです。 |
男性 | 30代 | PHP/JavaScriptエンジニア | ・Java ・PHP ・JavaScript |
Javaは、Androidアプリ開発によく使われる言語で、初心者から技術者まで適用範囲がとても多いからです。
PHPは、JavaScriptとともに、Web開発における圧倒的シェアを持っているからです。 |
男性 | 30代 | プロジェクトマネージャー | ・Java ・Python |
Javaは、昨今のさまざまなプログラミングへの応用が利くため、入り口としてJavaを体得することは合理的だと思います。
また、Pythonはやや難しいですが、今後のAIやIoTといった先進技術の仕事を受けるためにも、早めに学習を進めておくとよいと考えます。 |
男性 | 20代 | Javaエンジニア | ・Java ・PHP |
JavaやPHPは幅広く用いられていて需要の高いプログラミング言語なので、より多くの選択肢をもつという意味でも転職を前提とするならおすすめだと思います。 |
男性 | 30代 | 業務系システムエンジニア | ・Java ・PHP |
Java … さまざまな職種で使われる。構文を勉強することで、ほかによく使われているC#(またはVB.NET)にも応用できるため。
PHP … Web系ではほぼ必須の言語のため。 |
男性 | 30代 | サーバーエンジニア | ・Java | エジソンは1つの電球ができる方法を発明したのではなく、999の電球ができない方法を経験後、1,000回目でやっと成功したのだという言葉があります。プログラミングの勉強も研究に近い所があるので、考え方としては似ていると思います。
とにかく新しい学習方法を日々クリエイティブに考え、考えたことは必ず実行を。上手くいかなければ”自分に合わなかったんだな”くらいに軽く諦め、エジソンのようにRuby on Railsの学習方法が1,000あるとしたら全部試してやる!と考えることが大切だと思います。 |
男性 | 20代 | Javaエンジニア | ・Java | Javaを学べば深いプログラムの世界まで入ることができ、給料も高いのでとてもおすすめ。なので、した方がいいから。 |
男性 | 30代 | システムエンジニア | ・Java | アプリ開発はホームページ制作と同時進行している時代であり、最低限のスキルさえあれば、魅力的な転職が可能となるからです。 |
男性 | 30代 | Javaエンジニア | ・Java | 比較的に簡単な割にスキルの汎用性が高くて、1度しっかり勉強してスキルを身につければ転職が容易だから。 |
男性 | 20代 | Javaエンジニア | ・Java | 以外と素人でも簡単にスキルを身につけることができるのではないかと思っています。それほど難しくないです。 |
女性 | 30代 | フロントエンドエンジニア | ・JavaScript | JavaScriptをおすすめします。特にパソコンがあまり得意でない方はおすすめです。
理由は特別な環境構築やコンパイルが不要で、書いたらすぐ動かせるからです。 RubyやPythonはモダンな言語で需要もありますが、プログラミング未経験者に勧めるにはハードルが高いような気がします。 環境構築でつまずいてモチベーションを下げてしまうのはもったいないですし、コンパイルも面倒に感じるのではないでしょうか。 JacaScriptはコードを書いてすぐブラウザで動かせるし、何ができるかイメージしやすいのでおすすめします。 |
女性 | 30代 | Rubyエンジニア | ・Ruby | 実際に現場で使って生かしていけるような実践的なスキルを身につけるためのノウハウを、一からしっかり習得できるからです。 |
男性 | 30代 | Web/Windowsアプリケーション/サーバーエンジニア | ・Ruby ・PHP ・Python ・Go言語 |
Go言語も有力候補です。
転職となると、求人側としては、即戦力を求めています。 そして、比較的多くの企業で採用しているプログラミング言語がおすすめですし、最近はGo言語も利用している企業が増えているのでおすすめです。 |
男性 | 20代 | サーバーエンジニア | ・Ruby ・PHP |
PHPにいたっては習得の難易度が低く、大手企業から中小企業まで取り入れている企業も多く、その分求人数自体が多くて転職の門戸が広いからです。 |
男性 | 30代 | Rubyエンジニア | ・Ruby | 実践で生かすための基礎から応用まで実用的なスキルが学べるし、それに関する説明も相当詳しいからおすすめします。 |
男性 | 30代 | Rubyエンジニア | ・Ruby | 基礎から応用まで学ぶことができるのはもちろんですが、「すぐに実践しやすいスキル」を身につけることができるからです。 |
男性 | 30代 | Rubyエンジニア | ・Ruby | プログラミングをして身につけていくうえで大事な要素を、基礎的なところから応用までしっかりカバーしているからです。 |
男性 | 30代 | ネットワーク管理者 | ・ネットワーク関連 ・サーバー関連 ・JavaScript |
現在の仕事が、いわゆるプログラミングをメインでする仕事ではないため一概には言えませんが、どちらかと言えばハードウェアとしてのコンピュータの構造を理解している人の方が馴染みやすい分野だと思います。 |
男性 | 20代 | 社内システムエンジニア | ・PHP ・Python ・JavaSCript |
Pythonは構文が簡単なうえ、機械学習などで注目されているため、学習する機会が多く求人も多くておすすめです。
またphpやjavaScriptはwebアプリケーション開発で需要があります。 特にjavascriptは開発環境がなくてもプログラミングができるため、未経験者にとっては触りやすいと思います。 |
男性 | 30代 | フリーランスエンジニア | ・C++ | C++を最初に学習したあとだとほかの言語でも生かすことができますし、基礎をしっかり固めるという点でおすすめです。 |
男性 | 30代 | 設計開発(C言語を使用したマイコンプログラミング) | ・C言語 | 最初に学ぶ言語としておすすめするのはC言語です。
個人的には変数の定義をある程度理解できれば簡単なプログラミングが可能です。 からすべてプログラミングするのは辛いかもしれませんが、ほかの人が作ったソースファイルを流用するのが良いと思います。 ほかには趣味程度にJavaスクリプトとHTML/CSSも使っていますが、C言語の知識は大抵の言語に流用可能です。 |
男性 | 30代 | 物流系システムエンジニア | ・JavaScript | 現在もっとも高給が狙える言語であり、クライアントサイド、サーバサイドともにこなせる言語であるから。 |
男性 | 30代 | VB.NETエンジニア | ・ネットワーク関連 ・サーバー関連 |
プログラミングを学ぶなら、VBAやVB.NETを知らないと話になりません。
また、ネットワークやサーバーも知っているとなおのこと良いです。 |
男性 | 30代 | DBエンジニア | ・Python ・ネットワーク関連 |
世の中クラウド、クラウドといわれていますが、何はともあれネットワークの知識がないと何も始まりません。
ですので最低限でもOSIの7階層モデルが何であるか、というのは理解しておくべきです。 トラブル時の解決能力に差が出て、結果、自身の評価にもつながります。 初めての言語としては今はやりのPythonがおすすめです。 多少とっつきにくさはありますが、分析用などでこれから活況となると思いますので以後役に立つと思います。 |
男性 | 30代 | ネットワークエンジニア | ・ネットワーク関連 | ネットワークエンジニアの場合、昔はLANとWANの知識だけあれば十分でしたが、最近ではメールサーバ、Domain Name System、WWWサーバなどコンピュータ関連の知識も必要となっています。
難しそうな印象ですが慣れればそこまで難しくないと思うので、プログラミング未経験者が転職を前提にゼロからプログラミングをスタートする場合におすすめです。 |
男性 | 30代 | システムエンジニア | ・PHP ・Python |
言語のルールがゆるく、書きやすい。
またPHPもPythonもWebサービスなどを作りやすいため、作成物がわかりやすい。 |
男性 | 30代 | サーバーエンジニア | ・Python | Pythonは今からの時代に必要なプログラミングだと思います。
現在だけを考えるのであれば、JAVAやPHPなどはいいと思うが、若い人にはpythonがいいと感じます。 |
男性 | 30代 | サーバーエンジニア | ・Python | まだ全体的に使える人が少ないが、AIなどこれからどんどん需要が伸びる分野で使用されるため転職に向けて武器にできる。 |
※回答者に回答していただいたものをそのまま掲載しています。
まとめ
プログラミング初心者におすすめの言語をご紹介しました。
スクール選びで迷われた際は、下の記事もあわせてご覧ください。
参考:米田昌悟『プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業』
Java、Ruby、Python……と、いろんなプログラミング言語があるようだけど、
どのプログラミング言語を学ぶべきなのか教えて!