初学者である僕がプログラミング学習との向き合い方を再考させられる体験があったので、ポエムとして軽く書いておきます。テックな記事でないので、その点悪しからず。
僕はいま独学でReactを勉強しているのですが、公式ドキュメントだけだとどうしても厳しいし、何かいい教材は無いか、、そう思っていた時に、普段は避けていた英語圏の動画が目に留まりました。
YouTubeのこの動画です↓
なんとなく、これをやってみることにしました。
一通り終えてみて**「日本語の教材より英語の方がわかりやすくね?」**と思ってしまいました。ちなみに僕は英語はほぼわかんないです。中学英語ですら怪しいレベル。
じゃあなぜ、わかりやすいと思ったのか?
英語でプログラミングを学ぶことについて僕なりの発見がありました。
"日本語"でプログラミングを学ぶことの難しさ
僕たちは「プログラミングを始めるぞ!」ってなった時にはひとまず、日本語のドキュメントなり教材なりをあたりますよね。ほとんどの人がそうのはず。
当然母語だからこそ全ての情報を読み取れる(聞き取れる)わけですが、初学者の段階においてはこれがかえって仇となるケースもある。そんな話です。
■俺は"言葉"に支配されっぱなしだけど、皆はどう?
僕はプログラミング学習を進める中で、**「学んだことが理解できていない」という初学者にとってある程度スルーすべき事象に対して、「正面からぶつかり過ぎてしまう」**ことが非常に多いです。
というのも僕は何かを学ぶ際、言葉の意味を理解し納得できるまで立ち止まってしまうという癖があります。その割には理解力が低いのでいつまでたっても学習が進まない。当然手を動かす時間も減ってしまうわけです。(👺ワーキングメモリが低い!)
とくにプログラミングの”概念”を学ぶ際に、「なぜそうなるのか」「これにはどういう意味があるのか」みたいなことをいちいち深掘りしていると、本当に疲弊してしまいます。(多分、初学者が一番考えてはいけないことです)
そして言葉の意味や定義に支配されてしまうあまり、
手を動かすことがおざなりになってしまう、あるいは手を動かすことを辞めてしまう
こういった悪循環に陥ることが良くあります。
■「とにかく手を動かすべき」なのは分かってるつもりだけど...
プログラミングの学習というのはある種の説明地獄です。
だからこそ、完全に理解できてなくてもいいからまずは一度手を動かして何か完成させる
のが上達の近道だと言われているのだと思います。
つまりは、一度フカン視点で全体感を掴むことが大切。
わかっちゃいるんですけどね。。
僕は、説明されたものはできるだけクリティカルに理解しなければいけない気がする。そうでなければ先に進んだことにはならないのではないか、こういう病的な強迫観念に襲われてしまう。
分からないことに対して能動的になれるのは良いことだと思うのですが、僕の場合は少しやり過ぎ、考え過ぎの傾向が強いです。
まあ、こういう人もいるわけです。
英語で学習してみて良かったと思うこと
冒頭で述べた通り、YouTubeに転がっている英語のReactチュートリアル動画をやりました。ここからはその感想です。
■とにかく手を動かすことに専念できた
だって何言ってるかほとんど分からないんだもの。(笑)
しかし見まねで一緒に手を動かしていると、「何をしようとしているのか」がふんわりと掴めることに気づきました。(Reactに関しては若干の前知識はあった)
たとえば「props」というものが出てきた時
「props」ってなんだろう?とかいちいち反応する必要はなくて、何回も書いているとさすがになんとな~く役割がわかるようになってきます。
その時点で「props」をクリティカルに理解している必要はないし、そもそもそう思うこと自体が初学者の傲慢でしかないという風にすら思いました。
少なくともビギナーの段階においては、
・ほぼ何言ってるか分かんねえけど、ところどころ知ってる単語や表現があるから何となくわかる
・黙って書け、雰囲気を味わえ
こういった Don't think, feel. な環境のほうが健全なのではないか?
そしてなにより、曲がりなりにも自分で書いたコードが動くのは気持ちいい!!ということも改めて実感しました。
■ちょうどいい感じに能動的になれる
「手を動かしていく中で何回も出てくるけど、いまいちわからないな~」と思ったところだけ都度ググるということをやりました。逆にいちいち調べずにスルーしているところもたくさんある。でも今はそれでいいんです。このくらいの情報密度でいい。
何より、自分で書いて動かした後に意味を調べるほうが圧倒的に理解は早まるということを体感しました。
■英語アレルギーも改善される(多少はね?)
そもそもほとんどのプログラミング言語は英語主体で作られているわけなので、英語がきちんと読める、聴けるに越したことはないです。
英語のレクチャー動画を見るだけで英語がマスターできるわけではありませんが、英語圏の"言い回しやノリ"みたいなものを肌で感じることはできます。これはプログラミングの学習に限らず結構でかいメリットだと思います。
■日本語での補完は必須
英語教材でのプログラミング学習はあまり深く考えず手を動かすことに集中できるので、全体感を掴むのにはうってつけです。ただし、細かい部分はさすがにわかんないままです。
なので、ある程度手を動かしてその言語やフレームワークの雑感を掴んだら、細かい部分は日本語のリソースで補完していく。こういう感じで学習を進めていくのがいいんじゃないかと思います。
話をまとめる
この記事で言いたいことをまとめると、
- 物事を一度に全部理解しようとするのはある種の傲慢
- プログラミング学習は日本語(母語)にこだわらなくていい
- 言葉に支配されたら終わり
- ようつべでよく見る英語のプログラミング動画はガンガン使うべき
こんな感じです。
僕みたいに不器用な思考回路の持ち主も中々いない思いますが、もし共感する部分があれば是非YouTubeに転がっている英語のプログラミングレクチャーを試してみてください。
言葉が全部分からない方が良いこともあるんです。
ちなみに、ロシアとか東欧系の、未知の言語の動画はさすがにキツかったです(笑)
なにか思うことがあれば是非コメントにお寄せください。
本質的には言語の問題ではなく、筆者の性質・理解力に問題があるんじゃね?
~それでは~