ネギ式

適当に生きるおっさんのブログ

プログラミングの世界は諸行無常

ドッグイヤーだし。いま最高にイケてる言語も来年には古くてイケてない言語になるし、いま最高にイケてるフレームワークも、すぐに古くさいフレームワークになる。

前回、プログラムをしたときは、wordleもどきから変更して数独もどきを作ったわけだが、GUIだから単体テストは諦めたのであった。GUIだからというよりも、javascript初めてだったので、単体テストまでやると嫌になってしまうから。

今回は因数分解ということで基本CUIである。それだと単体テストを避ける理由がひとつ減ってしまう。それに数学的プログラミングは単体テストがやりやすい。それなので、javascript単体テストフレームワークを適当にググって、jestというのを使うことにした。これが最高だとかそんなことは思っていない。適当にググって見つかったから使うだけ。最高の単体テストツールだとしても、数年すればもはや最高ではなくなる。そんなものの選定に手間をかけるのは馬鹿らしいではないか。諸行無常諸行無常

 

ad2217.hatenablog.com

ad2217.hatenablog.comしかしまあ、今からプログラムを勉強する人は大変だよね。プログラムを作る上では

  1. プログラミング言語の習得
  2. デバッグ技法の習得
  3. 統合開発環境の使い方の習得 または  コマンドラインの使い方の習得
  4. 単体テスト方法の習得
  5. ドキュメント作成方法の習得

が必要であり、俺がプログラミングを始めた頃にこんなことを言われたら、諦めて他のことをやっていたよ。特にGUIでゲームを作ったりする場合は、デバッグ技法とか単体テストとかが難しい気がする。俺がその方面をやってないせいもあるけど。

しかも、これらのうちのいくつかは諸行無常ですぐに変わってしまうのである。

でも、因数分解など数学関係のプログラムなら、単体テストが簡単というか、単体テストという概念が分かりやすい。単体テストでバグが見つかるので、デバッグのやり方も分かる。多項式のプログラムの単体テストなんて足し算とか引き算とかかけ算とかをするだけだもんね。

というわけで、実は初心者に一番向いているプログラミングはゲームのプログラムではなくて、数学関係のプログラムなのであった。我田引水である。

まあ、初心者はドキュメントなんて考えなくてもいいと思うよ。こんなこと言うとエライ人からお叱りがありそうだが、そこで躓いてプログラムを止めてしまうくらいなら、ドキュメントなんて書かなくていい。他人のプログラムを読むという段階になってから、ドキュメントを書くことを意識すればいい。他人のプログラムが読めるようなら、もう初心者とは言えないけど。