こんにちは。
42tokyoアドベントカレンダー2024の24日担当のsomukaidです。
42tokyoに入学したのは今年2024年4月。
Piscineを受けたのが2024年1月でした。
1年経ちましたね。
以前よりコードはたくさんの行を書いても理解出来るようになったかな、と思います。
ただ42tokyoの本科生って、めっちゃコーディングがスゴいイメージがあって、まだ完成形にはいけてないです。ただいま成長中です。
さて、アドベントカレンダーですが、42に入学してから変わったことについて、書いていきたいと思いました。
- コードを書いている時間が長くなった
- エラーチェックを(ほんの少し)やるようになった
- 最初は難易度が高そうだなと思っても、少しずつ完成させることができるようになった
- コードを見てもらうのが楽しくなってきた
- 楽しい場所が一つ増えた
コードを書いている時間が長くなった
42入学前からC言語の勉強をずっとしてました。理由についてはIPAの基本情報技術者の試験対策のためでした。(今は違うのよね)
https://www.ipa.go.jp/shiken/kubun/fe.html
コードの勉強はアルゴ式でやりました。勉強してた時は、1日1問ずつ取り組みました。(過去に本科生にここのサイトで勉強するといいよ、と教えてもらったので)
https://algo-method.com/
さて、42でPiscineを受けてから、1日1問のペースでは解けない問題も出てきました。
ここにくると1日1関数を作成だったり、githubに1日1commitだったりのペースになってきます。
42では週に35時間ほどのコミットが目安になっているようで、毎日コツコツとコードを書き続けていくのが、私のやり方に合ってるようです。
https://42tokyo.jp/
コードに向き合う時間も長くなってきました。つまりは他の趣味の時間が減った、とも意味します(涙)
他の時間を削ってでも続けるには色々と苦労もあるのですが、私は42のプログラミングに取り組んでいる時間が結構好きなで続けていけるようです。(目安時間には遠く及ばないけどね)
エラーハンドリングを(ほんの少し)やるようになった
これ、語弊があるので説明すると42ではエラーハンドリングがっちりやります!
やるようになった、というのは自分の中の気持ちです。エラーハンドリングは面倒くさいし、コードは長くなるし、ああっ!もう誰だ!こんなのハンドリングさせようとしたやつ!とか思うわけです。
実際、エラーのことなど考えなければ最小限のコードで動き、かつ自分は納得できるプログラムが生まれるわけです。
特に、入力を通常ではあり得ない値を入れてそれでエラーが起きてハンドリングできてないってやつ。
プログラミング=ゲームの考えがある私にとってエラーは「裏ワザ」なわけですよ。
裏ワザなんだから、いいじゃん。裏ワザでバグったらバグらせた本人のせい、って感覚ですね。(ちゃんとこういう設計です。って言えればこれでいいんだけどね、設計考えてないから説明できないの)
そんな私でもエラーハンドリングを考えるようになったのは、42のおかげでしょう。言いたくはないが、ありがとう!Thank you!
エラーを一つ一つ潰していったり、そういうのを続けると最初から、ここはハンドリングしようと思えるようになりました。
これが設計いうものか…
というわけでエラーハンドリングなんかいらない!と思ってるこの記事を読んだアナタ、是非とも入学をオススメします。
最初は難易度が高そうだなと思っても、少しずつ完成させることができるようになった
42には
うーん絶対できんわ。無理無理
と思う課題もあったりします(諸説あり)
それを解くために調べたり、聞いたり、何度もトライしてやっていくのですが、この内、少しずつ完成させる、ということについて話します。
多くのプログラミング言語がそうなってると思いますが、ソースコードって分割して書いていける特徴があります。
参考書にも書いてありますね、「何度も同じ処理をするところは関数にして再利用しましょう」みたいなことが。
プログラミング初めての頃はよくわからんかったんですよ。なんで分割するのかな、最初の関数の中に全部書いちゃえばいいじゃん、とか思ってました。
今ならわかります。だんだん大きなプログラムを作っていくと、分割しなかったソースコードが問題ではなく、自分の記憶の限界(メモリ不足)が問題だったことに。
コードを長く書き続けていくと、最初の方を忘れます。(普通の42の本科生は忘れないのかもしれないが)
コツコツとコード書く私に出来ることは「これを作ったらこれより以前のことは考えなくていい」という関数を作るしかなかったのです。
そしてそれを繰り返すことで完成に近づくこともわかったのです。
つまり、難易度でつまずくより早く記憶が持たなくなるため、目の前の簡単な関数を積み上げていく方が実は確実なのでは、ということに気付き、やっぱりコツコツとやっています。
コードを見てもらうのが楽しくなってきた
個人的に42といえばコードレビューです。ああ、なんて素敵な♪
コードレビューですが褒めてもらうのは嬉しいです!指摘されると苦しいです。よって永遠に誉めてくれるレビューがいいのですが、人生そればかりではありません。(人生だから)
指摘を苦しいと感じない時は、時間に余裕があるときなんだよな。焦ってしまうともう人の話を聞くことができなくなっちゃうのですよね。
レビューを行って、ブラッシュアップが出来るのが一番いいなぁと思います。
42に入って以来、コード以外にも、別の場面で自分の作った文章を確認してもらうときなど、なんだか楽しくなってきた気がします。
これは思ってもなかった副産物であると思います!
楽しい場所が一つ増えた
42のおかげで人生楽しく過ごしております。プログラミングが大きな意味を持つ環境って今までなくて、こんなにプログラミングしてて楽しいなと思えるのは幸せだなと思います。
色んな人に出会えます。
とても充実しています。
とはいえ、いつまでも続きはしないので、今はコードを書き続けたいと思います。