最初に学ぶのにオススメのプログラミング言語は何か?
これからプログラミングを始めようと思っている方の多くが悩んでいることだと思います。
僕自身、プログラミングに興味持ったのは丁度2年前で、当時は「何の言語がいいんだろう」と思い、2chを中心に様々な情報を漁っていました。しかし、2chを見ていると「関数型言語が〜」とか「スクリプト言語はオススメしない」など、書き込まれている内容の意味がわからずに理解に苦しんでいました。
そんな中、こんな意見を頻繁に見かけました。
「作りたい物に必要な言語を選ぶといいよ」
僕が作りたかったのは「ポータルサイト」なので、その開発に向いている言語ということで、HTML/CSSとRuby(RubyonRails)を最初に学ぶことにしました。ただ、人によっては、作りたい物はないけどスキルアップや就活の為に覚える必要がある、という人もいるかと思います
そこで、現役エンジニアのYUUKIが、初心者が最初に覚えるプログラミング言語の選び方を、順序立てて分かりやすく解説していきます。
プログラミングとは何か?できることを知る
まず、プログラミング言語を選ぶ前に
「そもそもプログラミングで何ができるのか?」
を知る必要があります。
恐らく、殆どの人がプログラミングとはどういう技術なのか、ぼんやりとしか分かっていないと思います。これを知っておかないと、そもそも学ぶ理由が見つからないかと思いますので、ここだけは先に確認しておきましょう。
まず、プログラミングを覚えることで作れる物を並べてみました。
|
こうみると、なんだかなんでもできそうですね。
一言でいうと、プログラミングとは
「機械(ハードウェア)に対して指示命令(プログラム)を出すこと」
です。
そして、プログラミング言語とは
「機械(ハードウェア)に対して、人間が理解できる(読み書きのできる)指示命令(プログラム)を書くための言語のこと」
です。
言い換えれば、プログラミングを覚えれば
「コンピュータ(ハードウェア)に対して指示命令を出すことが出来るようになる」
わけです。

そして、「ハードウェアに対しての指示命令の出し方とできること」が言語によって異なります。
ここまで分かったから、プログラミングを簡単に実施しましょう。
プログラミングに触れてみる
プログラミングとはどんな物か、とりあえず触れてみたい
という人に最初にオススメする言語はズバリ「JavaScript」になります。
理由は簡単です。テキストエディタさえあれば動くからです。
試しに、JavaScriptとはどんな物か触れてみましょう。
以下のコードをテキストエディタにコピペして、test.htmlというファイル名で保存してブラウザで開いてみてください。すると、時計が表示されます。
<html>
<head>
<title>動く時計</title>
<script>
window.onload = function() {
setInterval(function() {
var date = new Date();
document.getElementById("day").innerHTML = date.toLocaleString();
}, 1000);
}
</script>
</head>
<body>
<div id="day"></div>
</body>
</html>
↑のコードの<script>この部分がJavaScript</script>です。
面白いと思ったら、次にプログラミング言語の種類を見ていきましょう。
プログラミング言語の種類
2020年1月現在、言語の数は全部で7000個あると言われています。
ここでは、「初心者が最初に学ぶ言語」という括りで、選択肢に上がる言語をカテゴリー別に並べてみました。
Web | 人工知能 | ハードウェア | ゲーム | Excel | スマホアプリ | 全般 |
HTML/CSS | Python | C | C | VBA | Swfit | Java |
JavaScript | R | C++ | C# | Java | C | |
PHP | Java | C++ | Kotlin | |||
Python | アセンブラ | VB.NET |
ここで、Javaを【全般】としていますが、Web系に興味がある場合の優位性は勿論【Web】になります。ハードウェアは抽象的すぎてわかりにくいですが、家電製品(洗濯機や電子レンジ)に指示を出せる言語だと考えてOKです。
興味のあるカテゴリーを考える
プログラミングを学びたいのなら「作りたいもの」はなくても、「興味のあるカテゴリー」はあるでしょう。
ということで、興味のある分野によって、言語を選ぶといいでしょう。
恐らく大抵の方は以下4つのカテゴリーに目がいくんじゃないかと思います。
|
↑4つのカテゴリーの概要と、その中で最初に学ぶのにオススメな言語を紹介します。
Web系
Web系言語は、今みなさんが見ている「ブラウザ」の中で見れるページを作る言語のことを指します。
Web系言語で最初に学ぶのであれば、「HTML/CSS」を選びましょう。これはオススメというより、必須です。なぜなら、HTML/CSSがわからないと、そもそも応用が効かないからです。
もしHTML/CSSを習得済みであれば、次に「JavaScript」がオススメでしょう。理由は2つあります。
- 結果がすぐにわかる
- 汎用性が高い
JavaScriptは他のWeb系言語に比べて、環境構築(言語を書ける環境を作ること)をする必要なく、結果がすぐにわかるという特長があります。また、Web系のサイトには全てと言ってもいいぐらいJavaScriptが使われています。それぐらい、汎用性の高いプログラミング言語です。
HTML/CSS/JavaScriptをセットで学べる、オススメの動画教材も載せておきます。
人工知能
人工知能とはAIのことです。
人工知能では、機械にあるパターンを学習させそれに基づいてある指標を元に結果を導き出す機械学習と、機械にあるパターンを学習させると機械が自動的に結果を導き出す深層学習の2つがあります。
(機械的なことしかさせないのが機械学習で、人間的な考えをさせるのが深層学習だと考えてください)
広義には、機械学習、深層学習(ディープラーニング)も人工知能の一部となります。
人工知能に興味があるのなら「Python」一択でしょう。理由としては、人工知能を扱う言語としての情報はPythonが一番多く、かつ扱いやすいからです。また、PythonはWeb系という側面もあるので、汎用的に使える技術という点もオススメする理由の一つです。
Pythonと人工知能をセットで学べるオススメの動画教材はこちらです。
ゲーム
ゲームは、大きく分けると「パソコンゲーム」「テレビゲーム」「スマホゲーム」の3つに分かれると思いますが、初心者が今直ぐにでも作れるのは「パソコンゲーム」一択でしょう。
パソコンゲームを作るという意味で、最初に学ぶオススメの言語はVB.NETです。殆どの人はC#を推すと思いますが、僕はVB.NETを推します。理由は簡単だからです。恐らく、一番簡単なプログラミング言語と言えるでしょう。
VB.NETを学ぶのにオススメなサイトはこちらです。
プログラミングとゲームの杜
スマホアプリ
スマホアプリは、皆さんご存知IphoneやAndroidで動くアプリとなります。
最初に学ぶのにオススメな言語は、Iphoneアプリ開発であればSwift、AndroidであればJavaになります。これはオススメというより、IphoneアプリはSwift、AndroidアプリはJavaでしか作れないという環境の問題があります。
kotlinもAndroidアプリ開発ができますが、汎用性で考えると間違いなくJavaでしょう。Javaはアプリ開発以外にも使える上、求人数が最も多い言語です。
Swiftのオススメ動画教材はこちらです。
Javaはこちらの本で学ぶことをオススメします。
最初は環境構築が簡単な言語からはじめよう
プログラミングは9割の人が挫折すると言われていますが、原因の多くは「環境構築」のハードルの高さにあります。ですので、最初からPHPなどの環境構築に手間取る言語を扱おうとすると、挫折しやすいです。
最初は「JavaScript」などの環境構築が必要ない言語から始めてみて、それから自分の興味あるカテゴリーの言語を選ぶとよいでしょう。
プログラミング言語の選び方まとめ
|
昔はプログラミングを始めるハードルは高かったようですが、今はネットにこれだけ情報が転がっていることもあって、誰でも簡単に始めることができます。
この記事が、プログラミングを始める方の最初のステップになれれば幸いです。