初心者が入門すべきプログラミング言語と最適な選び方

今回はプログラミングの未経験者や初心者向けに、
数あるプログラミング言語の中から何を選択して学べば良いか?

ということについて解説したいと思います。

この記事の結論
  • 2020年現在で初心者にオススメな言語は、
    習得難易度が低いJavaScriptPythonRubyのいずれか。
  • ただし、各言語の特徴を把握し、自分が作りたいものに応じた選択をすべき。

プログラミング言語の種類

2020年現在で、プログラミング言語は全部で8000種類以上あると言われています。

プログラミング言語一覧 Wikipediaには、その中での数百種類のプログラミング言語が紹介されています。

なぜプログラミング言語は多いのか?

プログラミング言語の種類が多い理由は色々ありますが、

最も大きな理由は「すべての用途に使える最適なプログラミング言語が存在しないから」です。

プログラミング言語には、それぞれに得意・不得意があります。

現代ではパソコンの中だけでなく、スマートフォン、家電、自動車、クラウド、Webシステムなど、
様々な場面でプログラムが使われており、

その場面場面で、使用すべき最適なプログラミング言語が存在しています。

プログラミング言語は8000種類以上存在すると言われていますが、
現在多くの人に使用されているのは、そのうち30種類ほどです。

主要なプログラミング言語の特徴

「初心者にが学ぶべき言語」といっても、人によってオススメできる言語は異なります。

自分にとって最適なプログラミング言語を知るためには、
まず、現在使われている主要なプログラミング言語の特徴を一通り抑えましょう。

Java

Javaの特徴

汎用性が高く、OSや機器を選ばずにあらゆる環境で動作する言語です。

大規模なシステム開発に用いられることが多く、
Androidのアプリも、Javaを使って作られる事が多いです。

しかし、他の言語に比べて書かなければならないコードが多く、
初心者が一番最初に学ぶにはハードルは高めです。

後述のJavaScriptとは、名前は似ているが全く別の言語です。

Javaを学ぶメリット

  • 汎用性が高い分需要も大きく、就職で有利になる。
  • Androidのアプリが作成できるようになる。
  • 他の言語を学ぶときにもJavaの知識が活かせる。

Javaを学ぶデメリット

  • 簡単な処理でもプログラムをしっかり書く必要がある。
  • 他のプログラミング言語に比べて習得難易度が高い。
  • 以前よりは使用される割合が上がってきている。

C/C++

C/C++の特徴

1972年に開発されたコンパイル型の言語で、日本では「C言語」と表記されます。

他の言語と比較して、実行速度が最速であることが最大の特徴で、

パソコンのソフト・ゲーム、機械制御など、
リアルタイム処理が求められるシステムに使われることが多いです。

CとC++には互換性があり、同時に使うことができます。

ちなみに、後述のC#は全く別の言語で、こちらとは互換性がありません。

C/C++を学ぶメリット

  • 他の言語に応用が聞くので、習得しておくと有利
  • コンピューターそのものの基礎を理解できる。

C/C++を学ぶデメリット

  • すべての処理をコードで書かなければならないので大変。
  • Javaよりも難易度が高いと言われることが多い。
  • そのため初心者にはあまり向かない。

C#

C#の特徴

Microsoftが、C++とJavaをもとにを発展させて開発した言語です。

C言語(C/C++)とは名前は似ていますが全くの別物だと思ってください。

Windows上で動くアプリを制作する場合や、
「Unity」というゲーム開発環境で使用できる言語の1つになります。

ただし、それ以外(ゲームとWindowsアプリ以外)では、汎用性が低い言語です。

C#を学ぶメリット

  • VRなどを含む3Dゲームを作ることができる。
  • iOS、Android向けのアプリも作ることができる。

C#を学ぶデメリット

  • 学習難易度は高めで初心者向けではない。
  • 汎用性が低めでゲーム業界以外ではほとんど有利にならない。

Python

AIなどの機械学習が得意な言語で、近年需要が急上昇しています。
ビッグデータ解析、人工知能、機械学習などで利用される事が多いです。

JavaやC言語、C#などに比べるとコードがシンプルで可読性が高めです。

Pythonを学ぶメリット

  • 今後も間違いなく伸びる最先端のAI系分野に携わる事ができる。
  • シンプルなコードで処理をかけるようになっており、初心者向け。

Pythonを学ぶデメリット

  • 他言語に比べると日本ではまだ十分に普及していない。

JavaScript

Javaの特徴

ほぼ全てのWebサイトに利用されているといっても過言ではないくらい普及されている。

最近はWeb以外でもデスクトップアプリ、スマホアプリ、ゲーム開発なども行いやすくなり、
近年人気が高まっている言語の1つです。

JavaScriptを学ぶメリット

  • 開発環境が不要ですぐに学習を始められる。
  • 文法も易しく、初心者向けの言語である。
  • ライブラリが充実しており、簡単に複数の機能を導入できる。

JavaScriptを学ぶデメリット

  • 仕事で扱うには、関連言語(HTML/CSS/PHP/Rubyなど)の知識も必要なことが多い。
  • 使いこなすには幅広い知識が必要。

PHP

Webサービスの開発で幅広く利用されている言語です。

WordPressというCMS(webサイトやコンテンツを専門知識なしに構築・更新できるシステム)
でも、PHPが使用されています。

PHPを学ぶメリット

  • 日本では就職の求人が最も多いと言っても過言ではない。
  • 開発環境の構築が比較的容易
  • 文法も平易で初心者向けだと言える。

PHPを学ぶデメリット

  • Web系に特化しているので汎用性が低い。
  • アプリやゲームなどには使えない。

Ruby

日本の技術者である、まつもとゆきひろさんが開発したプログラミング言語で、
「Ruby on Rails」というフレームワークが普及したことで近年人気が高まっています。

Rubyを学ぶメリット

  • 日本語での学習環境で情報が豊富
  • 少ないプログラムで簡単にWebシステムが開発できる。

Rubyを学ぶデメリット

  • Ruby on Railsと併用した学習が不可欠。
  • Ruby on Railsは初心者が学ぶには少しだけ難易度が高い。

Swift

2014年にApple社がiPhoneアプリやmacOS向けとして開発した比較的新しい言語です。

元々はiOS系アプリの開発といえば、
Object-Cという言語が使われており、2020年現在でも根強い人気があります。

しかし、より文法が平易で書きやすいSwiftの人気が高まってきていて、
もうしばらくすれば、Object-CよりもSwiftでの開発の方が多くなると言われています。

Swiftを学ぶメリット

  • 文法がシンプルで分かりやすい
  • iPhoneやiPad、macOS向けのアプリを制作できる。

Swiftを学ぶデメリット

  • Windowsのパソコンでは開発しづらい。
  • 他の言語と比べるとまだ情報が少なめ。

習得するプログラミング言語の選び方

人気からプログラミング言語を選ぶ

人気があるのにはそれ相応の理由があります。

汎用性の高さやコードの書きやすさ、ライブラリやフレームワークが充実しているなど、
様々な要因からプログラミング言語の人気度は左右されるため、

「人気のある言語を選んでおけばとりあえず問題ない」
といっても過言ではないでしょう。

また、人気があればそれだけ情報が多く、
開発でつまづいたときに解決策を見つけやすくなりますし、

人気のある言語ほど企業からの需要が高い傾向にあるので、
就職するときの求人も多くなる傾向があります。

参考: http://pypl.github.io/PYPL.html
© Pierre Carbonnelle, 2020

難易度やハードルからプログラミング言語を選ぶ

完全未経験の初心者の方は、まずは難易度の低いプログラミング言語を選ぶのも良いです。

今回紹介した言語の中だと、JavaScript、Python、Rubyあたりが、
他に比べて学習コストは低めだと言えるでしょう。

個人的には、開発環境の構築も不要で、
Web系からデスクトップアプリ、スマホアプリまでを扱えるJavaScriptがオススメです。

目的からプログラミング言語を選ぶ

最初に説明したように、プログラミング言語には得意不得意があり、
特定の環境下でしか扱えないものもあります。

もし、あなたが既に作りたいものが明確に決まっているなら、
それに適したプログラミング言語を選ばなければなりません。

  • Web系のシステム開発が行いたいなら、
    JavaScript、PHP、Ruby
  • iOS向けのスマホアプリが作りたいなら、Swift
  • Android向けのスマホアプリが作りたいなら、Java
  • AIや機械学習、ビッグデータを扱いたいなら、Python
  • ゲームを作りたいならC#(Unity)
  • IoTなどの家電への組み込みを行いたいなら、C言語やJava

といった選択になります。

初心者にオススメなプログラミング言語

まずは何を作りたいのかを考えてみることをオススメします。
やりたくもないことをやろうとしてもきっと続からないからです。

やりたいことがたくさんある、または定まっていないのであれば、
まずは人気ランキング20位以内で、習得難易度の低い言語を選ぶと良いでしょう。

Twitterでもプログラミングの有益情報を配信しています。フォローはこちらから→

おすすめの記事