「プログラミングって、自分でもおぼえられるかな?」

なんて、ちょっと前に自信なさそうにしていた友人も、今ではすっかりプログラマー気取り。
で、実際のところ、どのくらい勉強すればいいんだろう?
気になるよね。

「どのくらい勉強すれば身につくのか」
「プログラミングは難しいのか」
「何か特別な知識が必要なのか」

ここでは、そんな素朴な疑問について、ちょっと真面目に考えてみよう。

学習に必要な時間

プログラミング言語は難しい。

そんなイメージがあるかも。
でも、学習に必要な時間だけを比べてみると、意外とそうじゃない。たとえば英語の場合、実用レベルになるまでには3,000~5,000時間程度の学習が必要だと言われています。

毎日1時間勉強したとしても、3,000時間なら約8年。

そう考えると、なかなか実用レベルまでたどり着かないのも納得だよね。

では、プログラミングは?

簡単なプログラムを自分で作れるようになることを目標にするなら、まずは300時間程度を一つの目安にしてみよう。

  • 英語の学習時間:3,000~5,000時間
  • プログラミングの学習時間:約300時間

300時間なら、1日1時間で約10か月

それなら、ちょっとやってみようかなって、思えてくるよね。

本を1冊読めば十分?

では、初心者向けのプログラミング本を1冊読み終えるには、どのくらい時間がかかるんだろう。まあ、ざっと30時間ぐらいとしよう。

英語を毎日1時間勉強して8年以上、という話と比べると、ずいぶん短い期間だよね。

ところが、先ほどプログラミングの学習には300時間必要だと仮定したよね。そう、本を1冊読んだだけでは、プログラミングは身につかないんだ
先に言ってよー、ってなるよね。

  • コードを書いてみる
  • エラーに悩む
  • もう一度書いてみる

そうやって実際に手を動かす時間が、ちゃんと必要なんです。

このことを知らないと、

「本を読んだのに、おぼえられなかった……」

なんてがっかりしちゃうよね。

プログラミングの本も楽しいよ

プログラミングの難易度

先ほど、簡単なプログラムを作れるようになるまでの学習時間を、約300時間としました。英語と比べれば、ずいぶん短い時間です。しかも、必要になる予備知識もそれほど多くありません。

英語なら、中学校で習うような単語が読めれば大丈夫。
数学も、四則計算と小数点がわかっていれば、まずは十分です。

予備知識・技術レベル
英語中学校レベルの英単語が読める。
文章が読めなくても大丈夫。
数学四則計算、小数点を理解している。
パソコンファイル、ディレクトリを理解している。
ソフトウエアのインストールができる。
キーボード操作が多いのでブラインドタッチができると良い。
ネットワークサーバ、クライアント、URLといった基本的な知識がある。
HTML(JavaScriptに特有)初級レベル、本を見ながらHTMLを書くことができる。
CSS(JavaScriptに特有)初級レベル、本を見ながらCSSを書くことができる。

気をつけたい点としては、プログラミング言語はこれまで触れたことのない考え方や、聞き慣れない専門用語が次々に出てきます。
最初は「何を言っているのか、さっぱりわからない」というところがあっても普通なので落ち込まないように。

本を読むことは、スタート地点

そこから実習や復習を繰り返すことで、だんだん「わかる」が「書ける」に変わっていくんです。

プログラミング習得の5つのレベル

プログラミングって、どこまでできれば「習得した」と言えるんだろう。
そこで今回は、ひとつの目安として5つのレベルに分けてみました。

レベル内容
レベル1文法を理解していないが、簡単なライブラリを組み込むことができる。
レベル2文法を理解し、簡単なコードが書ける。
レベル3関数、正規表現が使え、数百行のコードが書ける。
レベル4ライブラリを作成したり、必要に応じて外部APIやフレームワークを利用できる。
レベル5再利用性や速度、セキュリティを考慮したプロレベルのコードが書ける。

うーん、改めてレベル分けすると結構あるんだね。
プログラムって奥深い。