現在のプログラム開発では、適切なライブラリを選択するのに時間がかかっている。
決定してからも、ライブラリの特定の部分の使い方を調べる必要がある。
特定用途のライブラリは複雑で、ソースファイルが大きく、完成度が低い問題も抱えている。バグを回避するために、特定のテクニックが必要になる。
例えば、みんなが使っていない使い方は避けるなど。
このため、実績があり、多くの人が使っているライブラリを選ぶという矛盾が生じ、進歩を阻害することがある。
私にとっての問題は、ライブラリの使用が自分の成長に必ずしもつながらないことである。
高度な抽象化がなされたライブラリを使用して特定用途のアプリケーションを作成することが、私の成長につながると考えている。
スキルが向上した後にライブラリを使うことで、問題を回避しやすくなる。
ライブラリの設計思想を理解することで、その長所や短所を把握しやすくなる。
そのため、単純なライブラリだけを使用してプログラムを作成することは重要だと思う。
この際、ChatGPTのような生成AIを使用すると、学習速度が向上する。
プログラムを作成するよりも、読むことに重点を置くことで学習速度を上げたい。
自力でプログラムを作成することも重要だが、時間がかかりすぎる。
ChatGPTにプログラムを作成してもらいそれを理解することを繰り返しながら、階層を上げて特定用途のライブラリも取りれていきたい。
階層を上げるとは、最初は抽象度が高いライブラリだけを使い理解できたら、抽象度の低いライブラリも徐々に取り入れていく。
最新のライブラリを使いたいと思いがあり、それを理解して使いこなすには私のような新規参入者にとっては、上記のような過程が必要である。
本で勉強しようとすると、歴史的な過程などを追って勉強する必要がどうしても生じる。
だから、自分にとって直接的には必要でないことも学ばなければならない。
このようなアプローチを通して、勉強をする必要がある。