プログラミングから学んだこと
January 6, 2008 1:31 PM written by Gen Taguchi

「プログラミングは小学校の必修科目にすべき!」と個人的に思っていますが、プログラミングからは本当に多くのことを学んでいます。
先日、プログラミングって人生だよね的な話題がもりあがったので、自分がプログラミングをやっていて良かったなぁ、と思えることをまとめてみます。
- プログラミングは問題解決に役に立つ!
- 過去の自分は別人!(=人間は進化する!)
- はまったらできるところまで戻ると良い
- 問題の切り出しがうまくなる
- どんなに複雑な問題でも世界の誰かが必ず解いている
プログラミングは基本的に、「これがやりたい!」をシンプルな命令でもって緻密にくみ上げていくことで実現します。これは「どんなに複雑に思える問題も、細かく分解すればうまくいく」という考え方につながっています。使う命令はそれほど多くなくて良いのです。
プログラミングをはじめてからは、「この問題を細かく分解していって、自分ができることで再構成するにはどうしたらいいだろうか?」と考えるようになったような気がします。少なくとも「この問題複雑すぎ!」と頭を抱えて活動限界・・・ということはなくなりました。
1年前の自分のコードとか見ると「誰だよ、これ?」と思ったりしますが、裏を返せば、漫然と過ごしていてもやっぱり思考法は進化しているのだな、と実感することができます。
なんとなくすごしていると「自分って昨年からどれだけ進化したんだろ?」と思ったりしますが、プログラミングをやっていると、そうした自分の進化を如実に実感することができます。プログラミングは自分の考え方のベンチマークをとるのに最適ではないでしょうか、と思ったり。
プログラミングではまったときはとにかく動いていたところまで戻るべし、が鉄則です(僕の中では)。そうするとどこで間違ったのかがはっきりします。
これは仕事でも一緒で、どうにもうまくいかないときには、うまくいっていたところと、そうでないところを切り分けて考えるようにするとなにかとうまくいくような気がします。
プログラミングでデバッグ(間違い探し)をするときには、変数をウォッチしたり、ブレークポイントを設定したりして、どこがどう動いているか、どう動いていないかを検証します。こうした考え方は日々の生活でも、「問題を細分化して一つ一つ検証する」という行動に反映されているような気がします。
もちろん100%、というわけではないですが、ほとんどの問題は過去に誰かが解いています。そうしたベストプラクティスを積極的に活用するのがプログラミングのコツかと思います。
これは日常生活でもそうで、問題にはまったときは「他にもこういう問題を抱えてて解決した人がいるはずだ」という根拠のないw自信につながっていたりします。こういう風に考えられるだけでもちょっと気分が軽くなりますよ。
なんか妙に抽象的なエントリーになってしまいましたが、いつか書いてみたかったので・・・。恥をかくことを恐れずにこのままアップしちゃいます。お前エンジニアじゃないだろ、的なつっこみはご容赦願います(笑)。
プログラミングってほんと、楽しいですよね。おすすめです。プログラミング家庭教師っていうビジネスがあってもいいかな、と思ったり思わなかったりです。
プログラミングをたしなむ方で、「他にもこういういいことあるよ!」的なご意見がある方は是非お教えください。
Info: Lifehacks |
固定リンク |
コメント (5) |
トラックバック (2) |
↑


