花びらを数える日々

チラシの裏、ときどき星の屑

学ぶことは、きっと楽しいこと。/JavaScriptのプログラミングのツボとコツがゼッタイにわかる本

JavaScriptのプログラミングのツボとコツがゼッタイにわかる本」という本がJavaScriptの入門書としてとても良い本だったので、紹介したい。

言語の習得が難しい理由

僕たちは新しいことを学ぶとき、どのようにして知識を身につけていくだろうか。
JavaScriptは、一つの言語だ。だから、その学び方について考えるときは、義務教育や高等教育で英語を学んだことと比較して考えてみるとイメージを掴み易いかもしれない。 英語を学ぶとき、単語や熟語と文法は一緒に学んだ。単語だけをいくら詰め込んでも、文脈の中でどのように使用されるかを知らなくては、その単語が持つ正しい意味を理解できないことがある。だから単語だけをひたすら暗記したり、文法だけを正確に覚えたりするのは効率が悪いのだと、昔何かの本で読んだことがある。この説が実際に正しいかどうかは別として、納得できることは確かだ。

では、JavaScriptに置き換えて考えてみよう。 僕は仕事で使う必要があって、JavaScriptを学び始めた。仕事だから時間も限られていて、誰かと共同で進めるプロジェクトでもないことから、よくないとは思いつつもコピペとトライ&エラーの繰り返しで済ませていた。ネット上には本当にたくさんの情報があるから、こんなその場しのぎのやり方でも意外となんとかなる。 でも、それは英語に例えるなら、ただ例文を暗記しているようなものだ。いつまでたっても自分で文章を作ることはできないし、会話することもできない。間違った言葉遣いをして、いずれ誰かを怒らせてしまうかもしれない。

僕は考えた。手っ取り早く会話できるようになろう、と。そのためには、文法と単語を全て暗記してしまえばいい。オライリーの「JavaScript 第6版」をひたすら読んだ。そして挫折した。

JavaScript 第6版

JavaScript 第6版

東大に合格するためには、辞書を丸ごと暗記すればいい、と誰かが言っていた。それはおそらく正しいのだろう。ただ、そんなことができるのは一握りの人間だけだ。

たしかに、言語を完璧に理解すれば、あとはただ練習するだけで使いこなせるようになる。少なくとも、センスや経験といった要因を抜きにすれば、そういう理屈になるはずだ。でもそのためには、記憶力や、常人であればそれなりの勉強量・時間が必要になる。そして、僕たちは(僕は)習得する前に飽きる。投げ出す。情けないことに。

僕が思うに、挫折の理由は二つある。

完璧を目指すから挫折する。

これが一つ目の理由だ。英語もプログラミングも、完璧に美しく正しく使うことを初めから目指してしまう。 でも、まずは一言二言でも、自分の言葉で話せるようになれればいいんだ。

使いどころがわからないから挫折する

これが二つ目の理由。英語で習った「This is a pen.」なんて一生のうちに一度だって使わない気がする。(ただし「I am your father.」だけは一生に一度でいいから言ってみたい。) 「Hello, world」にしてもそうだ。お決まりは個人的には嫌いじゃないしむしろ好きだけれど、正直言ってつまらない。さらに言えば、こんなことができる、こんな機能がある、という知識(例えばAjaxとか)を得たところで、それは初心者には使いこなせなかったりする。自分が実際に使うイメージを持てなければ、どれだけ優れた仕組みでも、学ぶことを心から楽しめはしない。 (ただ、実を言うとオライリーの「JavaScript 第6版」は本当に面白かった。わからないことが多くても、一つ一つ噛み砕いて理解していけばきっと力になる。でも仕事終わりとかに読むのはかなりしんどい。)

あえて「推奨されない記述方法」から学ぶ楽しさ

JavaScriptのプログラミングのツボとコツがゼッタイにわかる本」では、上記の問題を解決してくれている。この本では、あえて「推奨されない記述方法」から学習をスタートさせるのだ。 変数や配列といった基本中の基本でさえも、本書では中盤からようやく出現する。全体を通じて、まずは目的の機能を実装して、そこから問題点を解決していく、という流れをとっている。その中で、例えば何度も出現する値があれば変数という機能を使うことでより便利になる、といった紹介の仕方をしてくれているのだ。 そして、「推奨されない方法」から「推奨される方法」へとコードを書き換えていく中で、段々とそのコードが洗練されていくことが実感出来る。これが実に楽しい。

ボリュームは本編300ページくらい+巻末資料30ページくらいで、ページ数の割にすぐ読み終えることができた。特に初心者が躓きそうな、関数やDOM操作についてわかりやすく書かれているので、JavaScriptをこれから学ぼうという人には是非手に取ってみてもらいたい。

もちろん、抵抗がない人にはオライリーのサイ本もおすすめ。一緒に学びましょう!