挫折知らずの「ふりがなプログラミング」
プログラミングを学ぶならルビ付きで
というのが初学者のワイの感想。なんなら難読漢字に太刀打ちできない人間なので、日本語もルビ付きを切実に希望します。
大学の頃に統計で使うためにRを学んだけどが、さっぱり理解できずに混乱してまともに使えなかった苦い思い出がある。で、最近またプログラミングを学ぶようになったんですけど、挫折せずに続けられているのは一重に『ふりがなプログラミング』シリーズとProgateの存在がめっちゃくちゃ大きい!
仕事でExcelをそれなりに使うのですが、定時で帰りたくて仕方がなくて、効率化目指してPythonやVBAも使えるようにしたいと思うことが増えました。そこで、出会ったのが本書『ふりがなプログラミング』。
この本で学んでいると、プログラミングが言語であることを実感します。
初学者にとっては英単語覚えないまま文章読解
が、初学者にとってのプログラミング学習だと思うんですよ!
そして、これこそが『ふりがなプログラミング』が推したい理由。たぶん、VBAに限らずプログラミングを学ぼうとする初学者の全般に言えます。
プログラミング言語は、英語のように学校教育の中で半強制的に学ばされるわけではなくて、何か目的があって学ぶわけです。だから、英単語にあたる用語だけを集中的に学ぶわけには行かなくて、並行して長文の読解が必要になります。というか、本来は書くわけですが、それは置いておく。
で、長文を読むには当然英単語の意味がわからなければいけない。そこにプログラミングを挫折してしまう理由がある(と勝手にドヤりながら思ってます)
短い文章であればいいけど、長くなるとその分定着していない知識をどうにか引っ張って理解せざるをえない。しかも、中学英語の大部分が高校英語では省略されるように、プログラミングでもすでに学んだことはわかっているものとして省略されてしまう。だから時間もかかるし、頭の中もしっちゃかめっちゃかになります。
わからないから毎日が復習の連続で、気づいたら一週間で数ページしか進んでいなかったなんてことでは本当にガックリしてしまいます。で、挫折するわけです。学習にはある程度のスピード感も重要で、わからないことがあっても先まで進めることはやっぱり大事。
これは読書も同じ。文学作品よりもライトノベルが人気が出るのは面白い内容を読みやすい文体でかかれているからです。
『ふりがなプログラミング』ではルビが振られているので、とりあえず読み進めていく分には困らない。そのおかげで、途中わからないことがあっても最後まで通読することができます。そうすると学習の王道パターンに突入して、次からはもっと楽に一周回すことができるようになっり、モヤモヤした頭がすっきりしていくというサイクル。
僕はかなり面倒くさがりなので、わからないところがあってもそのまま突き進めて挫折というパターンでしたが、ルビが振ってあるおかげで通読することができました。
実際にふりがなプログラミングだとどうなるか
例えば、
Dim buf
buf = InputBox("入力せよ")
If IsNumeric(buf) Then
Debug.Print "数値に変換可能"
End If
と書かれているとします。本文では各所にルビが振られているわけですが、
これを訳すと
2 変数bufを作成しろ
3 文字列「入力せよ」付きで入力ボックスを表示して、入力結果を変数bufに入れろ
4 もしも「変数bufに数値に変換可能の結果」が真なら以下を実行せよ
文字列「数値に変換可能」を表示しろ
5 分岐ここまで
となります。
これだけでも
・Dim
・buf(変数)
・ InputBox
・” ”(文字列)
・If Then
・End If
・IsNumeric()
・Debug.Print
が出てきます。まだこの程度なら学習進める上で問題ないのですが、これが倍の分量になると、どうでしょうか。たぶん初学者では、あーだこーだ悩むと思います。
通読した僕自身も、IsNumericってなんだっけみたいな感じ(おい)。でも裏を返せば、それでも読み進められます。
挫折知らずの「ふりがなプログラミング」
VBAに関しては、Progateでもサポートされていないので、書籍やUdemyで学ぶ他ありません。『ふりがなプログラミング』でVBAで自分の望んでいるプログラムが組み立てられるようになるかといえば、それは難しいと思うのですが、少なくとも学習の取っ掛かりとしてはこれ以上ない初心者向けの本でした。