プログラミングが上達しない本当の理由【ゆっくりスクリプト】

195, 2021-03-02


テロップ=プログラミングが上達しない

美琴:うーん
星夜:どうしたの?
美琴:プログラミングを勉強してるんだけど
星夜:うん
美琴:なんていうか上達しないんだよね
星夜:プログラミングが上達しない
美琴:そうそう

美琴:勉強を続けてるんだけど、
美琴:上達する気配が無くて
星夜:気配がないってどれぐらい?
美琴:うーん、まったくない感じ
星夜:あらら
美琴:だから気持ちが焦っちゃって
美琴:このまま上達しないまま、
美琴:ずっと行くのかなって

美琴:長いことやってるんだけど、
美琴:上達しないんだよね
星夜:うーん、そうなんだね
美琴:たくさんプログラミングに時間を使ってるのに、
美琴:ちっとも上達しなくて、
美琴:いやになっちゃうんだよね
星夜:なるほど

美琴:なんていうかマンネリしてる気もするし
美琴:プログラミングから刺激を感じないというか
美琴:最近はなんでプログラミングを
美琴:やってるのかなーって感じ
星夜:そうなんだ

テロップ=自分は才能が無いのか?

美琴:私ってプログラミングの才能無いのかな?
星夜:うーん
美琴:才能があればどんどん上達するでしょ?
美琴:上達しないってことは、つまり
美琴:才能がないってことじゃ……
星夜:プログラミングの才能か
星夜:目に見えないものだから、
星夜:掴みづらい話だよね
美琴:そうそう
美琴:なんていうか、実体が見えなくて、
美琴:確信も持てないし……

星夜:まぁ、言っちゃうと、
星夜:才能は無くてもプログラミングは可能だよ
美琴:本当ぉ?
星夜:本当本当
星夜:というか
星夜:プログラミングが出来てる段階で、
星夜:才能はあるんだよね
美琴:あー
星夜:本当に才能が無い人は、
星夜:プログラミングが上達しないっていう
星夜:悩みすら持てないよ
美琴:なるほど
星夜:才能が無いって、量の話でしょ?
星夜:「めちゃくちゃ才能がある」とか
星夜:「少ししか才能が無い」とか
美琴:あーそうそう
美琴:少ししか才能が無いのかな?
星夜:才能ってふくらむモノだからね
星夜:続けてると段々大きくなるよ

テロップ=上達しないプログラミングとは?

星夜:上達しないのは、
星夜:上達しないプログラミング
星夜:してる可能性があるね
美琴:上達しないプログラミング?
美琴:そんなのがあるの?
星夜:あるある
星夜:まぁ僕の経験則になっちゃうけど

星夜:1つは、簡単なお題
星夜:繰り返しやっている可能性だね
美琴:簡単なお題?
星夜:そう。たとえば、
星夜:Hello, World!プログラム
美琴:あ、それ私でも作れる
星夜:でもHello, World!プログラムを、
星夜:何回も作っていても、
星夜:プログラミングは上達しないよね
美琴:あー、確かに
星夜:他にも基礎的な文法を使った
星夜:プログラムとかもそう
星夜:まぁ最初の内は、
星夜:これでも十分上達するんだけど、
星夜:ある程度慣れてきた人は、
星夜:これぐらいのプログラムでは、
星夜:上達しなくなっちゃうよね

星夜:あとは、
美琴:あとは?
星夜:断片的にプログラミングをしてる場合ね
美琴:断片的って?
星夜:つまり、間が空いてるってこと
美琴:間?
星夜:間
星夜:仮に一ヶ月ぶりにプログラミングをしたとして、
星夜:果たしてそれで上達するのかって話
美琴:あー、しないかも
星夜:でしょ?
星夜:上達したい場合は、
星夜:ある程度継続的なプログラミングが必要だよね

星夜:それから、他人のコードを読まない
美琴:他人のコード?
美琴:他人のコードを読むのが大事なの?
星夜:これは意見分かれると思うけど、
星夜:僕はけっこう大事だと思う
星夜:たとえば本のコードとか、
星夜:読むのも大事
美琴:へぇー
美琴:自分のコードを読んでるだけじゃ
美琴:だめなんだ?
星夜:駄目ではないけど、
星夜:それだと刺激が少ないよね

テロップ=プログラミングの上達で必要なもの

美琴:それじゃプログラミングの上達で
美琴:必要なものってなにがあるの?
星夜:知りたい?
美琴:うん。知りたい
星夜:うまい棒おごってくれる?
美琴:おごるおごる
星夜:うふふ。いいよ

星夜:まず1つは、「ある程度の負荷」だね
美琴:負荷?負荷ってどういうこと?
星夜:精神的、肉体的負荷
星夜:これがないと、上達しない
美琴:へぇー?
星夜:たとえば筋トレを思い出してほしい
星夜:筋トレで、
星夜:ゆるーくやって筋肉付く?
美琴:付かないかも
星夜:そうでしょ、プログラミングも
星夜:基本的にはそれと同じ
星夜:ある程度、自分に負荷がある
星夜:プログラミングをしないと
星夜:上達しないんだよね
美琴:なるほど、筋トレと同じなのね
星夜:基本的にはね
星夜:勉強もそうだよ
星夜:新しいこと覚えるには、
星夜:脳みそに負荷をかける必要があるでしょ
美琴:うんうん
星夜:負荷をかけるっていうのは大事なんだね

星夜:それからさっきも言ったけど、
星夜:継続的なプログラミング
美琴:断片的でなく?
星夜:そう
星夜:可能なら毎日が理想的だけど
星夜:仕事とか学校行ってる人は
星夜:難しいかもしれない
星夜:それでも3日に1日ぐらいは
星夜:プログラミングをしたほうがいいね
美琴:これも筋トレなの?
星夜:そうそう。するどいね
星夜:これも筋トレと同じで、
星夜:一定期間、一定量の
星夜:負荷をかけないと、
星夜:意味がない
美琴:なるほどね~
美琴:たしかに腕立てとか、
美琴:1カ月間隔でやっても、
美琴:筋肉付かないもんね
星夜:そうなんだよね
星夜:筋トレから学ぶことは多いと思うよ

星夜:あとは、外からの刺激も大事
美琴:外からの刺激?
星夜:そう
星夜:つまり他人のコードを読むってことね
星夜:これは本とか、
星夜:あるいはネット上のコードでもいいけど
星夜:外からの刺激を自分に与える
星夜:そうすることで、
星夜:脳みそが刺激されて、
星夜:プログラミングが上達しやすくなる
美琴:そういうもん?
星夜:そういうもんだよ
星夜:それが証拠に、
星夜:OSS開発やってる人たちって、
星夜:みんなプログラミングが上手でしょ
美琴:OSS開発ってなに?
星夜:OSSって
星夜:オープンソースソフトウェア
星夜:のことで、
星夜:たとえばGitHubとかでの開発
美琴:なんかすごそう
星夜:基本的にはだれでも参加することができるよ
星夜:まぁプロジェクトによっては、
星夜:難易度が高いけど
星夜:初心者用のプロジェクトがあれば、
星夜:それに参加するのがいいだろうね

テロップ=プログラミングが上達しない時の心構え

美琴:プログラミングが上達しないと、
美琴:気持ちがすごく塞ぐんだよね
星夜:プログラミングが上達しない現象って、
星夜:実はプロにも起こることがあるんだ
美琴:プログラマーの人達にも?
星夜:そうそう、あるよ
星夜:実はこれって、
星夜:万人の悩みなんだよね
美琴:そういう時どうしたらいいの?

星夜:まず、焦っては駄目だね
星夜:焦ると事態が進展しないから
星夜:焦らずにどっしり構えるのが大事
美琴:焦るとつらいよね
美琴:なんでもかんでも空回る感じ
星夜:そうそう
星夜:だからそうならないように、
星夜:深呼吸して、
星夜:あるいは気晴らしに他のことやっても良いし
星夜:とにかく長い目で俯瞰すると良いよね

美琴:つまり気長に取り組むってことね
星夜:うん
星夜:気長に取り組んで
星夜:さっき言ってきたことを実践すると
星夜:定期的な負荷と刺激を自分に与えて
星夜:それを長い時間行う
美琴:それが難しいんだよね~
星夜:だよね~
星夜:まぁそれも筋トレに近い所があるね
美琴:スポーツマンってすごいんだね
星夜:そういうことになるね
星夜:プログラミングもある意味
星夜:スポーツみたいなところがあるから
星夜:スポーツマンになった気で
星夜:筋トレに取り組もう
美琴:筋トレじゃなくて
美琴:プログラミングね
星夜:プログラミング
美琴:ありがとう
美琴:試してみるね
星夜:それじゃ、うまい棒ちょーだい
美琴:はい、「上げた」
美琴:(うまい棒を上にあげる)
星夜:……
美琴:あはは、ありがとうね~
星夜:またやられた