これからプログラミングを学ぼうとしている人の第一関門がどの言語を選ぶかです。断言します。挫折しない言語を選びましょう。
自分のやりたいこと、目的に応じて選んではいけません。年収の高さで選んではいけません。もしそれが難易度の高い言語だったらそこでつまずいてしまい、あなたの人生はジ・エンドです。
結論: 初心者が最初に学ぶべきプログラミング言語
初心者が最初に学ぶべきプログラミング言語はJavaScriptです。
プログラミングの初心者にとって理想的なスタート地点はJavaScriptです。なぜなら、JavaScriptはWeb開発の世界で広く使われていて、需要・将来性があり、比較的容易に習得することができるからです。そして、最大のメリットは環境構築が簡単ということです。
環境構築とは、プログラミングに必要な開発環境を作ることです。プログラミングのコードを書いて、それを実行するための環境を整えるのは案外面倒なもので、そこで挫折する人も多いのです。JavaScriptはブラウザさえあれば実行できるので、まずここでつまずくことはありません。
JavaScriptとはWebページに動きをつけるためのプログラミング言語です。なので、JavaScriptを学ぶ前に、HTMLとCSSを学んでおいたほうがいいです。安心してください。1〜2週間程度の学習でHTML/CSSとは何かを理解できれば十分です。
最初に学ぶプログラミング言語の選び方
とにかく簡単に始められることが大事
初心者におすすめのプログラミング言語としてよく挙げられるのがPythonです。でも、Pythonを扱うならば、あなたのパソコンにPythonをインストールしなければなりません。PHPでもRubyでも同じです。データベースも扱いたいならばMySQLをインストールして常時起動するように設定しなければなりません。初心者はそこでつまずきます。
その点、JavaScriptは環境構築が不要です。ウェブブラウザがあれば、あなたが書いたコードを実行できます。ウェブブラウザがJavaScriptを実行する機能を持っているのです。今日からすぐに始められます。ひゃっほう!
プログラミング学習のモチベーションを維持するのに大切なことは、成功体験を積み重ねることです。成果物を作って、それが意図した通りに動いたらニヤリとする。その体験を最短コースで実現できるのがJavaScriptです。
プログラミング言語は1つ学んで終わりではない
そんなこと言われても、「拙者、Web制作には興味ないでござる」「JavaScriptなんてやりたくないでござる」そんな声が聞こえてきました。
なんとエンジニアは複数のプログラミング言語を扱えるのが当たり前なんです。1つの言語しか知らないエンジニアはニワカだと思ってください。
1つの言語を覚えてしまえば、2つ目3つ目は比較的簡単に習得することができます。例えば次のようなJavaScriptのコードがあるとします。
if (value1 > value2) {
console.log('value1はvalue2より大きい');
} else {
console.log('value1はvalue2より大きくない');
}
これをPHPで書くとこうなります。
if ($value1 > $value2) {
echo 'value1はvalue2より大きい';
} else {
echo 'value1はvalue2より大きくない';
}
Pythonで書くとこうなります。
if value1 > value2:
print('value1はvalue2より大きい')
else:
print('value1はvalue2より大きくない')
Javaで書くとこうなります。
if (value1 > value2) {
System.out.println("value1はvalue2より大きい");
} else {
System.out.println("value1はvalue2より大きくない");
}
ね、ほとんど同じでしょ。というわけで、最初に環境構築のハードルが低いJavaScriptを学んでおけば、2つ目の言語は楽勝で習得できるわけです。
あなたが本当に学びたい言語はJavaScriptの後に習得しましょう。つーか、学びたい言語がわからないからここにいるんですよね?
プログラミング言語の難易度ランキング
最も初心者に優しいプログラミング言語はJavaScriptですが、他の言語の難易度はどんなもんなんでしょう。
言語 | 難易度 | 言語の種類 | 動作場所 | コンパイル | ガベージコレクション |
---|---|---|---|---|---|
C++ | プログラミング言語 | サーバサイド | 要 | 無 | |
C | |||||
Java | 有 | ||||
Go | |||||
C# | |||||
Kotlin | |||||
Swift | |||||
Python | 不要 | ||||
Ruby | |||||
PHP | |||||
VBA | クライアントサイド | ||||
TypeScript | |||||
JavaScript | |||||
CSS | スタイルシート言語 | ||||
HTML | マークアップ言語 |
言語の種類、動作場所、コンパイル、ガベージコレクションの4つの軸で難易度を判定してみました。
言語の種類
マークアップ言語とは文書の構造を定義する言語です。文書の中で、これは見出しですよとか、これは段落ですよとか、そういうことを決める言語です。スタイルシート言語とは文書の装飾をする言語です。文字を大きくしたり色を付けたり、画像を右に寄せたりします。
プログラミング言語とは、コンピュータに計算処理を命令する言語です。「もし〇〇ならば△△せよ、さもなくば□□せよ」みたいなことを命令します。当然、マークアップ言語やスタイルシート言語よりも難易度は高くなります。
動作場所
プログラムがサーバサイドで動作するのか、クライアントサイドで動作するのかによって難易度は変わってきます。
サーバサイドで動作する言語を扱うならば、サーバと同じ環境をあなたのパソコン上に構築しなければなりません。サーバに関する知識が必要になります。
クライアントサイドで動作する言語ならば、普通のパソコンユーザの知識だけで環境を整えることができます。
コンパイルの要不要
プログラミング言語には、あらかじめコンパイルをする必要があるコンパイラ言語と、コンパイルする必要のないスクリプト言語があります。コンパイルとはソースコードをコンピュータが実行可能な形式(機械語)に変換することです。
コンパイラ言語は実行速度が早く、スクリプト言語は低速という特徴があります。が、開発時にいちいちコンパイルをしなくてもよいスクリプト言語のほうが難易度は低いといえるでしょう。
なお、Swiftはコンパイラ言語でありながら、開発環境ではコンパイルせずに動作確認ができます。なので、コンパイラ言語のグループの中では難易度は低めです。
ガベージコレクション
ガベージコレクションとは、使っていないメモリの領域を自動的に開放する機能のことです。この機能が備わっていない言語では、メモリ管理に気を使わなければならないので、難易度は高くなります。
さいごに
というわけで、今すぐJavaScriptを学習したい!と思っているあなたに役立つリンクをお知らせして終わりにしたいと思います。
でわでわ
コメント