|
本来、プログラミングは【目的】を達成するための【手段】です。 目的を達成するまでの道のりというのは何でも苦労がつきものです。 これらを天秤にかけてやるかどうかを決めるというのは日常的なことですよね。
例えば、行列ができるラーメン屋さんで言うなら、ラーメンのおいしさ=【目的】、行列に並ぶ=【手段】 行列に並ぶ人は、ラーメンにとても魅力を感じる、もしくは並ぶのが全然苦痛でない、もしくはその両方です。 行列に並ばない人は、ラーメンが好きじゃない、もしくは並ぶのがとても苦痛である、もしくはその両方です。
他にも、あれ買いたいけど値段がなぁとか、上げるときりがないですね。
プログラミングでいうところの【目的】については、世間にありふれたソフトウェアやロボットの制御プログラム、ゲームなどこの場で上げる必要もなくご存知かと思います。 こういったものを自分で作れるとしたら?ということについてどれくらい魅力を感じられるかどうか、ではないでしょうか?
プログラミングという【手段】についてですが、昔に比べるとはるかに便利で楽ちんになってきていますね。 一番原始的なものはCPUの命令セットで直接コードをたたく作業です。 これは、ちょっとしたコードを書くのにもとてつもない労力が必要となります。 その労力を軽減するためによく使われる流れをまとめたものがWindowsで言うところのWin32APIとかゲームならDirectXとか、いろいろあります。 そして、そのWin32APIよりもさらに便利になったのが.Net Frame Workと呼ばれるものです。
どれだけ目的意識を高く持つ努力をしているかが結構重要だと思います。 噛み砕いて言うと、どうせまずいラーメンだろと思いながら行列に並ぶよりは、きっととても美味しいラーメンなんだ!と行列に並ぶ方が苦労も軽減されることでしょう。 人間バカになったほうが人生、生きやすいともいいますしね(笑)
|