プログラミング言語の選び方【おすすめの言語と学習順序】

  1. やりたいことがあってプログラミングを学習したい。
  2. やりたいことは明確じゃないがプログラミングを学習してITエンジニアになりたい。

①の場合は、やりたいことを実現できる言語を選ぶだけです。

②の場合は、様々な観点で言語を選んでいくところから始めます。

私は、小学生のときにBASIC言語でプログラミングを覚えて、仕事でもプログラマーとして十数年の経験があります。

BASICの次に習得するプログラミング言語を探していたとき、私が重要視したのは今後も需要が長く続く言語であるかどうかでした。

プログラミング言語の習得には多くの時間を費やします。努力が無駄にならないように、長く使っていける言語として選んだのはPythonです。

この記事では、私自身も経験したことがあるプログラミング言語の選び方について解説します。

プログラミング言語の選び方

目的 言語 初心者
ウェブデザイン
ホームページ制作
HTML&CSS
JavaScript
PHP
ウェブアプリ開発
ウェブシステム開発
JavaScript
Ruby
PHP
Python
AI/機械学習 Python
iPhoneアプリ開発 Swift
システム開発
組み込み制御開発
Androidアプリ開発
Java
Excel自動処理
業務改善
VBA
Python

「プログラミングでどんなことをやってみたいのか」。目的で学ぶべき言語が決まってきます。未経験者でも習得しやすい言語をピックアップして分類してみました。

Excelのシート関数からステップアップして事務系の業務効率を上げたいならVBA一択です。Excelにはすでに開発モードが備わっているので、すぐにでも挑戦できます。

Web系の言語はマークアップと親和性が高いので、HTML/CSSの経験があれば習得が早いです。PHPはサーバーサイドの開発にも応用していけるのが魅力です。

アプリ・システム開発の中で長らく主力となっているのがJavaです。近年はAndroidアプリ開発にも用いられています。iPhoneアプリ開発に特化するならSwiftになります。

万能なのはPythonです。Python一つ覚えればウェブアプリ開発、Excel処理やファイル操作などオフィス業務でも、また習得が進めばAIや機械学習といった高度な分野にも対応できる応用性の高さがひいでています。

プログラミング言語を選ぶ基準

プログラミング言語の選び方は、次のような基準で考えることができます。

  • 興味の分野の言語を選ぶ:どのプログラミング言語が何の用途に使われるのかを知って、やりたいことを軸にして言語を選ぶ。
  • 習得しやすい言語を選ぶ:プログラミング言語によって異なる難易度を基準に、学習しやすく挫折しにくい言語を選ぶ。
  • 求人の多い言語から選ぶ:仕事に就きやすく、また転職でのキャリアアップを視野に入れて求人の多い言語を選ぶ。
  • 今後の需要で言語を選ぶ:習得にはそれなりの時間を費やすので、長く需要の続きそうな言語を選ぶ。

言語を書いたことがない場合の選び方

ITやパソコンの経験が少なくて、何も言語を書いたことがない場合は、HTMLという言語を選ぶのが良いです。

HTMLはプログラミング言語ではなく、ウェブを表示するためのマークアップ言語です。HTMLは言語の未経験者でも学習しやすいので、挫折する心配がありません。

まず、HTMLでコードを書く作業に慣れるのが良いでしょう。自信になるし、プログラミング言語の学習意欲につながります。

プログラミングスクールのプログラミングコースでも、必ずHTMLのカリキュラムが含まれています。

プログラミングを実務で使う場合にも、実行結果をHTMLに出力する機会が多々あります。HTMLを避けて通れないわけです。

プログラミングスクールのテックアカデミー『はじめてのプログラミングコース』でも、まずHTMLの学習から始まります。

マークアップ言語HTMLの特徴【プログラミング言語ではないからこそ学習しやすい】

興味の分野の言語を選ぶ

プログラミングでやってみたいことがあるなら、その興味のある分野で使われているプログラミング言語から選ぶことができます。

プログラミング言語にはたくさんの種類がありますが、それぞれに得意分野があります。

人気のあるプログラミング言語について、得意分野で分けると次のようになります。

  • システム開発・組み込み:C、C++、C#、Java
  • PCゲーム・ブラウザゲーム:C++、C#、JavaScriptジャバスクリプト
  • ウェブ開発・ウェブデザイン:JavaScript、PHP、Rubyルビー
  • ウェブアプリ・スマホアプリ:JavaScript、Pythonパイソン、Java、SwiftスウィフトKotlinコトリン、Go
  • 人工知能・ロボット:Python、R、C++
  • オフィス業務:VisualBasic、VBA、COBOL

やりたいことが決まっていないならPython

何をやりたいのか決まっていない方にイチオシなのはPythonです。

Pythonは、近年、人工知能の開発で注目されているので聞いたことがある方もいるでしょう。Pythonはライブラリが豊富で、いろいろな分野に応用できる柔軟性が高い言語です。

ライブラリとは、特定の分野で使いやすいように関数などの機能をまとめたツールです。

たとえば、Djangoというウェブ用のライブラリを使えば、ウェブやアプリを作れます。スマホアプリのInstagramにPythonが使われています。

Excelのライブラリを使えば、Excelの操作もできます。人工知能のライブラリを使えば人工知能の開発もできます。

Pythonを習得すると、幅広い分野でスキルを活かすことができます。人工知能など未来の技術での需要も高いので、今後も長く使っていける言語です。

プログラミング初心者に副業・在宅ワークは無理なのか

習得しやすい言語を選ぶ

プログラミング言語には習得しやすい言語とそうでない言語があります。

習得しやすい言語には、次のような特性があります。

  • 環境構築が簡易:環境構築とは、プログラムを実行する環境を作ること。環境構築が難しいプログラミング言語があるので、環境構築が簡単な言語を選ぶ。
  • 動的型付け:型とは、プログラムの中の値が文字なのか数字なのかをコンピューターが判断できるように宣言すること。動的型付けのプログラミング言語は記述量が少なくて済む。
  • コンパイル不要:コンパイルとは、プログラム実行の前にプログラムを機械語に翻訳する作業のこと。コンパイル不要なプログラミング言語のほうが手間がかからず、学習しやすい。
  • ウェブ系:ウェブ系の言語とは、ウェブサイトやウェブアプリを作成する目的で使われる言語のこと。多くはスクリプト言語であり、学習コストが低く挫折しにくい。

挫折したくないならスクリプト言語

プログラミング未経験者の場合は、ちゃんと学習を続けられるのか。途中で挫折することにならないか。という心配が大きいと思います。

スクリプト言語なら、その心配は無用です。スクリプト言語は記述が簡単でコンパイル不要なので、学習しやすいのです。

ウェブやアプリといった身近なものに使われるので用途がわかりやすく、学ぶ目的を見つけやすいです。

JavaScriptは、ウェブサイトやウェブデザインに使われます。HTMLと一緒に記述できるので、ウェブ系の仕事に興味があるならJavaScriptを選ぶのが良いです。

PHPは、ウェブサイトをサーバー側で制御するプログラムに使われます。ウェブ開発に多用されているので需要が常に多いです。ただし、環境構築がやや難しいです。

Pythonは、ウェブアプリの開発にも強い言語です。ウェブページやウェブアプリをサーバー側で制御するプログラムに使われます。人工知能など幅広い分野に応用が利くので、学習する価値が高いです。

求人の多い言語から選ぶ

出典:doda

求人の多いプログラミング言語と、そうでないプログラミング言語があります。

求人の傾向は、どの求人サイトを見てもほぼ似たような割合です。求人の多い言語を選ぶと就職にも有利です。

JavaC#C++は、システム開発や組み込みに使われるので需要が高い傾向があります。炊飯器や洗濯機などの家電、銀行や役所のシステムなど生活と結びついているので求人が常に多いのです。

ただ、C系(C、C++、C#)の言語は記述しにくく、コンパイルの手間がかかります。習得には相当な時間がかかるので、選ぶからには覚悟が必要です。

JavaもCから派生した言語ですが、オブジェクト指向で記述できるおかげでC系よりはやや易しいです。しかし、未経験者にとってオブジェクト指向の理解は難しいので、スクールなどで学ぶのが良いでしょう。

JavaScriptPHPは、ウェブの需要と結びついています。世の中の情報はウェブ主体なので、必然的にJavaScriptとPHPの需要が高まり、求人も多くなります。

世の中の多くのウェブサイトにはWordPressワードプレスというツールが使われており、PHPで動いています。ウェブ開発の仕事にはPHPのスキルが求められます。

クラウドソーシングでも、WordPressの改修や機能増強の案件が多く見られます。副収入を得るための近道として、習得しやすいPHPを選ぶのも良い方法です。環境構築がやや困難なので、スクールを頼るのが良いでしょう。

Pythonは、近年は自動車の自動運転やロボットの開発にも使われるようになりました。こういった分野の開発では、人工知能や機械学習の技術者の求人が急増しています。

Pythonは他のプログラミング言語より格段に記述しやすい言語です。プログラムを修正したり追加したり、試行錯誤を繰り返すような研究的な現場ではPythonが選ばれるわけです。

今後も求人が増える見込みが高いプログラミング言語なので、Pythonを選ぶと技術者として生きていくうえでの選択肢がかなり広がります。

今後の需要で言語を選ぶ

出典:HackerRank(2020年・回答総数116,648名)

米国のIT人材マッチングサイトのHackerRankが行ったアンケートでは、IT開発者が次に狙っているプログラミング言語がわかります。

今後にどのように技術が進展し、どのプログラミング言語が必要とされるのか、いまの技術者には見えているわけです。今後の需要を予測するのに役立ちます。

私も、Pythonの次に狙っているのはGoです。

Goは、Googleが生んだ新しい言語です。記法がシンプルなので記述しやすく学習コストが低いので、プログラマーが第二言語として狙う理由もわかります。

ウェブアプリ、スマホアプリの開発に使われる機会が増えていくので、世の中の需要にも合っている言語です。

Pythonは、プログラミング言語のなかでも可読性が高い言語です。プログラミング経験者にとっては学習コストが低いのも魅力です。

人工知能や機械学習、ブロックチェーンなど、未来の需要増加を見越してプログラマーが注目しています。

Kotlinは、Javaから発展した言語です。スマホのAndroidOSにJavaが使われており、そのアプリ開発をより簡易にする言語として注目されています。

Javaの技術者にとってKotlinは習得しやすく、次に習得する言語としても学習コストを低く抑えることができるでしょう。

TypeScriptは、JavaScriptをもとにMicrosoftが改良したプログラミング言語です。サーバー側で使いづらいJavaScriptの弱点を克服しています。

ただし、JavaScriptもNode.jsという技術でサーバー側の弱点を埋めてきています。個人的にはTypeScriptよりNode.jsを狙う方が得策のような気がします。

Rは、データ分析や統計解析を得意とする言語です。機械学習の需要の高まりに連られて技術者が注目しています。

Pythonの技術者なら、人工知能や機械学習のスキルをより強固にする第二言語として身につけたい言語だと感じます。

結局どのプログラミング言語を選べば良いのか

言語の未経験者の場合はHTML

言語全般が未経験の場合は、プログラミング言語の前にHTMLを学ぶのが良いです。

学習コストがもっとも低く、挫折しないからです。プログラミング言語を学習する基礎が身につきます。

HTMLはウェブページのレイアウトに使うので、HTMLを習得するだけでウェブデザインの分野に可能性を広げることができます。

HTMLの次に習得するならJavaScript

HTMLの経験があるなら、JavaScriptが学習しやすいです。

HTMLの中に<script>タグとして記述できるので、ウェブのスキル向上にも活かせる言語です。

ウェブページの開発に使いやすい関数が用意されているので、学習コストが低く習得しやすいのが魅力です。

やりたいことがわからないならPython

ITやプログラミングに興味があるものの、やりたいことが見えていないならPythonが良いです。

Pythonは、できることの幅が広い言語です。ウェブや業務改善、データ分析、人工知能など、できないことがないくらい応用が利く言語だからです。

習得するならスクールを利用して集中的に学ぶのが良いです。習得してしまえば、仕事の幅がかなり広がります。今後も食いっぱぐれのない言語です。

プログラミングスクールのテックアカデミーには、Pythonを集中して学習できるコースがあります。無料体験できるので、自分に向いているのか判断してみると良いです。

Pythonを学習できるプログラミングスクール・コース

まとめ

  • 興味のある分野のプログラミング言語を選ぶ。やりたいことが無ければPythonが万能。
  • 習得しやすい言語を選ぶ。ウェブ系の開発に使われることが多いスクリプト言語は、目的が見えるので学習しやすい。
  • 求人が多い言語は、仕事に就きやすい。大規模システム開発やウェブなど世の中の需要に結びついている。
  • 今後の需要が多い言語を見極めるのも大切。いまの技術者が注目している言語は、選ぶうえでヒントになる。
  • この記事を書いた人

non

小学生のときにBASIC言語でプログラミングを覚え、社会に出てからはPythonを主力に通信業界で無線設計とGISシステム開発に携わること12年目。プライベートではPHP・MySQLでウェブサービスを作りつつ、副業で収入を得ています。「プログラミングは人生を豊かにする」と実感しています。