プログラミングがなぜ難しいか?

プログラミング学習帳 プログラミング

プログラミングの難しさや挫折は、当然不慣れで知らないことが多いから、エラーがたくさん出るのに解決策が分からない、など色んな要素があると思います。そのうちの1つは、結局プログラミング本やってみたけど結局何も作れない、どう作ればよいのか分からない、というものがあります。そこで、今回はプログラミング本をやってみた後、更にどんな知識が必要なのか?について整理してみます。

プログラミング本後~プログラミング制作に必要な知識

フロントエンド、バックエンドともに作るようなプログラミング本は限られてきます。たぶん、あってもかなり歴史のある旧式な構成が多いのではないでしょうか。例えば、HTML/CSS/javascript(jQuery)とPHPを組み合わせたものなど。それもAPI構成ではない形の。大抵はフロントエンド単体とか、バックエンド単体の本です。なので、比較的モダンな構成でのアプリケーション作成に必要な知識を習得する必要があります。このとき、新たに習得しなければいけない知識には以下のようなものがあります。

  1. CORSに関する知識
  2. APIのルーティングに関する知識、ルーティングの整理方法
  3. HTTPリクエストに関する知識、確認方法も含む
  4. ポインタに関する知識
  5. バックエンドとデータベースを結ぶ知識、DBeaver等も含む
  6. ログイン機能に関する知識、jwt認証を含む
  7. 関数に対する慣れ
  8. データベースに関する知識、バインド変数など
  9. データベースを開く関数
  10. CRUD(Create/Read/Update/Delete)にかかる関数
  11. Dockerに関する知識
  12. Githubに関する知識
  13. JSONのwrite/read/errorに関する関数
  14. JSONのデコード、エンコードに関する知識
  15. データベースの隠蔽方法
  16. フロントエンドのルーティング機能など
  17. フロントエンドで使いやすいサードパーティーパッケージの知識
    警告文を出すsweetalert2やタブ機能を追加できるreact-tabなど。
  18. reactでよく使われるuseEffectやuseStateなどHooksに関する知識
  19. フロントエンドで情報を一時的に保管するconst [exp, setExp]への慣れ
  20. HTTPリクエストの制御やCRSFトークン、envファイル等によるセキュリティへの知識

本当に多岐に渡ります。フロントエンド3冊(HTML/CSSとtypescript/reactと実践)、バックエンド2冊(または2講座/簡易的なListenandserverと実践的なもの)、周辺知識の本(DockerとGithub)、データベース1冊、クラウド1冊(AWSやGCPから好みのもの)をやった後の話です。本当に道のり長すぎてやばいなと思いますね。もう絶句するレベル。挫折して簡単な方向に流れたくなる気持ちも良く分かります。

ただ、プログラミングは本質的に学校の勉強と変わらないと思います。掛け算を習う小学2年生にいきなり大学受験の問題を解かせても、何も分からず先行きの不安から挫折するだけです。でも勉強を続けていれば、算数や数学の知識を積み重ねていって大学受験の問題が解けるようになります。道のりを案じて不安になるより、具体的な道のりを整理して一歩ずつ進んでいく方が建設的であり、その方が実は精神的に楽なのです。一歩ずつ頑張りましょう。

コメント

タイトルとURLをコピーしました