学習前の基礎情報
ここでは、プログラミング言語を習得するのに必要な学習時間や、難易度がどの程度なのかといった疑問にお答えします。
学習に必要な時間
プログラミング言語は難しいというイメージがあると思いますが、英語などと比べてとても低いコストで習得することができます。英語が実用レベルになるには、3000時間から5000時間程度が必要になると言われています。毎日1時間勉強したとしても、最低でも8年以上もかかってしまいます。話は逸れますが、それを踏まえると義務教育の英語だけでは実用レベルには程遠いということがわかりますね。
英語に比べるとプログラミング言語の場合はぐっとハードルが下がって、簡単なプログラムが作成できるようになるには英語学習の10分の1以下、多く見積もっても300時間を目安にして良さそうです。月でいうと1日1時間程度で、10ヶ月程度になります。
- 英語の習得時間: 3000時間から5000時間
- プログラミング言語の習得時間: 300時間
では、初心者向けプログラミング言語の本を最後まで読むのにどの程度時間が必要になるでしょうか? 仮に1ページ読むのに5分、1日1時間勉強するとしたら、1日で12ページ読み進むことができます。このペースを毎日続ければ、1ヶ月で360ページ読み終えることができます。すべて理解できるかどうかはさておき、殆どの初心者向け書籍は1ヶ月で読了できる計算になります。
英語の8年とは比べ物にならない程短い期間ですね。というより、プログラミング言語の習得時間と比べてもかなり短い期間です。これでわかるように、学習期間という意味では本を1冊読んだだけでは足りないということになります。少し意外な事実ではないでしょうか?
プログラミング言語の習得時間 = 300時間
1冊の学習時間 = 60時間
300時間 - 60時間 = 240時間足りない
これを理解するだけで、挫折ポイントを1つクリアできたことになります。1冊読むことを最終ゴールにせず、まずは簡単なプログラムができるようになる300時間を目安に学習計画を立ててみましょう。最後までやり遂げるためにも、1回の勉強時間、1週間のトータル時間、本を読み終えるまでの期限を最初に決めておくと良いでしょう。
習得の難易度
一般的にプログラミング言語の習得は難しいと思われていますが、学習時間でいえば英語の10分の1以下の300時間です。必要とされる予備知識も義務教育の範囲内です。英語は単語が読める程度、数学に至っては四則計算(足し算、引き算、掛け算、割り算)、小数点あたりが理解できていれば十分です。
予備知識・技術 | レベル |
---|---|
英語 | 中学校レベルの英単語が読める。文章が読めなくても大丈夫。 |
数学 | 四則計算、小数点を理解している。 |
パソコン | ファイル、ディレクトリといった概念を理解し、ソフトウエアのインストールができる。キーボード操作が多いのでブラインドタッチができると良い。 |
ネットワーク | サーバ、クライアント、URLといった基本的な知識がある。 |
HTML(JavaScriptに特有) | 初級レベル、本を見ながらHTMLを書くことができる。 |
CSS(JavaScriptに特有) | 初級レベル、本を見ながらCSSを書くことができる。 |
ネットワーク関連は本書で説明しているので、HTMLとCSSがある程度扱えるのであればJavaScriptを学ぶスタートラインに立てていると思います。分量、予備知識ともにそれほどハードル高くはないですが、今まで触れたことがない概念や専門用語が多いので、一読してマスターできるようなものではありません。プログラミング言語を習得するには、プログラミング言語の仕組みを理解し、自分のものにするまで実習や復習を繰り返すことが大事です。それができるかが習得できるかどうかのポイントかもしれません。
プログラミング言語の学習に終わりはありませんが、プロレベルになるまでのステップを5つにわけました。ぜひレベル5を目指して勉強してみてください。
レベル | 内容 |
---|---|
レベル1 | 文法を理解していないが、簡単なライブラリを組み込むことができる。 |
レベル2 | 文法を理解し、簡単なコードが書ける。 |
レベル3 | 関数、正規表現が使え、数百行のコードが書ける。 |
レベル4 | ライブラリを作成したり、必要に応じて外部APIやフレームワークを利用できる。 |
レベル5 | 再利用性や速度、セキュリティを考慮したプロレベルのコードが書ける。 |