Neunomizuの日記

俺だけが俺だけじゃない

# プログラミングで詰まっている所

tags: 情報

satoru-takeuchi.hatenablog.com

mizchi.hatenablog.com

流行りなのかな?ということで考えてみます

プログラミング歴

こんなのでも情報系の学部に所属しています

理解した気になっていた所

ポインタとかアドレスとか配列とか

コンピュータのメモリ上に変数などが置かれると分かるまではよく分かっていなかった

文法的に*&が付くものだと思っているだけで本質的に配列が何なのかなどを理解していなかった

理解した気になっている所

型推論

型推論と動的型付けの違いがよく分かっていないと思う

ふわふわとした「型推論」について話しているだけ

GC

「RustはGCがない言語です. 素晴らしいです」

うん. GCはコストのかかる処理だからない方が良いかも知れない. でもなんで他の言語はそんなにコストがかかるのにGCがあるのだろう. 書きやすいから?

そもそもGCがのコストって実装もしたことがないからなぁ...分かりたいと思っている

関数型プログラミング

OCamlLispも書いたことはあるけど, それで関数型プログラミングを理解したことにはならないと思う

本質みたいなのはまだよく分かっていない

これがわかりやすかったけど, 結局大規模なソフトウェアを書かないと本当の良さは分からなそう

ラムダ計算

無名関数は使っていて便利だとは思うけど, それがどう数学的に有用なのかは分かっていない

OOP

オブジェクト指向がメモリをどう使っているか, 抽象化をしているかはわかった気になっているだけで, 結局コードを書かないと分かった気になったままだと感じている

Web

Web系の会社でインターンしたのに未だによく分かっていません

ソフトウェア

ソフトウェアを作るってなんなのだろうか

そもそもソフトウェアが何なのかよく分かっていない

今の自分にアドバイス

コードを書く

コードを書かないと理解は出来ない

自分ではアルゴリズムを理解した気になっても, 本当にそれが理解できたかはコードに落とせるかで判断した方が良いという話

後, 書けるコードばかりを書いていっても書けるコードは増えないので, ある程度書けるようになったら他人のコードを読むことを覚えたほうが良いと思う

理屈も勉強した方が結局早い

理屈とはハードウェアの話から実際にどうソフトウェアで実装されているかまで

コンピュータ・アーキテクチャとOSまで理解できたらC言語とか別にいらない気がするし, 他もおそらくそう

でも理屈を勉強するのと一緒にコードを書くのが一番なのでそれをやるべき

分かっていないのが分かってきてからが本番かも知れない

最初は分かったと思い込んでしまうものだけど, それが徐々に分かってないに変わる時が来てからが本番なのかも

分かったつもりで色々話してしまうのが初心者ならば(周りを見ていてもそうだけど), 分かったつもりでいることを分かったことにできるのが中級者な気がする

上級者は人に分からせるのかな. 例えばC言語を作ったりして.

まとめ

プログラミングを2年近くやっていてもこのザマなのだけど, 未来の自分がどうにかしてくれるはずだと思って生きています