俺は今、CSゲームのリードプログラマーとして某社で働いてる程度にはプログラミングを理解できてるから答えるね
「んで、結局これで何ができるの?」は勉強始めてから5年くらいは続いたよ
毎日毎日、じゃんけんプログラムやおみくじプログラムを本を見なくても書けるように写経した
でも、飽きて1ヶ月くらい離れると忘れる
書き方はなんとなく思い出しても、どうやって作り始めればいいのかという「考え方」を忘れる
「じゃんけんは3種類だから配列を3つ作ればいいんだけど他になにをすればいいんだっけ?」という感じ
頑張って写経してる期間は覚えてるんだけど、間を開けるとまた忘れるというスパイラル
こんなことを続けてて本当にプログラマーになれるのかなという不安もあるし
これで何が身についたのかという実感もわかないんだよね
俺が明確に変わったと感じたのは本に書いてあることじゃなく実際に「こんな物を作ってみたい!」っていう衝動からだった
3Dとはいえ擬似的なもので、3D風に描いた絵を前後左右に進む2Dの迷路ゲームだったんだけど
絵の道なりに進めるように処理したり、ステージが進むにつれ距離を伸ばしたり
現在の位置を表示するアイテムを用意して、画面の端に表示させたり
落とし穴を作って前のフロアに戻したり、時間が無くなると雰囲気のある音楽を流したり
やりたいことがたくさん出てきて、それを「プログラミングでどう実現するか」を積極的に探して、試して、失敗してを繰り返した
いろいろ詰め込みすぎて挫折したり、またやる気になったり技術的な壁に当たって才能がないのかと落ち込んだりね
プログラミングって本を読んで写経してるうちは成長が頭打ちになるんだよ
自分の頭で作りたいもののために必死になることが大事で、周りからみたら例え30点の完成度でも達成感が宝になる
上に書いた迷路を実現しようと思ったら、いろんな技術が必要になるよ
本で写経してるうちは「こんな技術がある」というような、専門用語だけを目にするだろうから
それで何が作れるのかピンとこないと思う
でも、実際に実現しようと手を動かすと本に書いてあるだけの言葉や方法じゃ解決できないことが多い
だから、あなたが今ピンときてないとすれば、それは昔の俺のように本の世界だけで終始してるからということ
「この言語や技術でなにが作れるかわからないから、作りたいものが想像すらできない」のだとすれば、それは順序が逆なだけなんだ
じゃんけんの勝敗を記録したい、じゃんけんを絵で表現したい、じゃんけんに音をつけたい
なにかを作りたいという欲求を大切にしてほしい
そして、自分に才能がないとか頭が悪いから覚えられないなんて考えは捨ててほしい
俺が働いてる某社は、とある雲の上の存在のようなプログラマーがいたんだ
その人は偉くなってプログラミングの仕事からは離れてしまったけど心底プログラミングを愛してた
憧れて入社して間もなく、その人はいなくなってしまったけど今でも尊敬してるし永遠に心のなかで生き続けてる
その人が俺に言ったことは一生忘れない
「プログラミングでほとんどのことは解決できる。解決できないと感じても決してあきらめるな」
才能のなさや頭の悪さで相談したときも「みんな同じだ」と言ってくれた
やっとプログラミングがわかるようになった今になって思うのは、才能や頭の悪さなんて関係ない
プログラミングが好きかどうか、これが全て
プログラミングが好きであるならば職業や肩書なんて関係なくなんでも作れるよ
ぜひ、作りたい物をたくさん作って楽しんでください!