プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

プログラミングの楽しさ: プログラミングの何が楽しいの?


構造を知らなくても車が運転できるように、プログラミングがコンピュータにふれる唯一の手段ではありません。でも、車の構造を知っていれば、運転をより楽しくすることができるでしょう。自分で改善したり、故障を調べたりすることも可能かもしれません。プログラミングに触れることで、コンピュータの新たな楽しさを見つけた。そんな人が増えてくれたなら、こんなに嬉しいことはないですね。

本題


前々回はプログラムが動く仕組みについて、前回はプログラムの作り方について、書いてきました。あまり上手な説明ではありませんでしたが、プログラミングの雰囲気を、少しでも感じていただけたでしょうか。


今回はようやく本題であるプログラミングの楽しさについて、私が思うところを書いてみました。

プログラミングの楽しさとは

難解なパズルを解く喜び


私がプログラミングをする過程で最も楽しいと考えているのが、デバッグです。これは難解なパズルを解く楽しさに似ています。いえ、どんなパズルより面白いと思います。


問題を論理的にとらえ、時には可能性を絞るためにテスト・検証を行い、問題を解決する。そんな過程もパズルを解く感覚に近いです。それが困難であればあるほど、問題を見つけた時の喜びも大きいですね。

何かを作り出す楽しさ


言うまでもなくプログラミングは何か新しいものを作り出すという作業です。大げさな言い方ですが、それは世界に一つしかない作品です。


プログラミングはとても柔軟性が高い上に、人が手作業で作るものなので、何かの目的を達成する方法は人によって違います。見た目は同じように見えても、中身は作った人の数だけあるのです。


飽きっぽいぼくが何年やっても飽きない理由の一つだと思います。他人のプログラムコードを読むのも、書いた人の思想を垣間見ることができて、楽しいです。

自分の作ったものが思い通りに動く


プログラムは自分が作った通りに動きます。なんか自分がその世界を収めているみたいな、ある種の征服欲を満たすことが出来るのも、プログラム作りの魅力の一つです。


まあ実際にはコンピュータに仕事を教えるのは、けっこう面倒な作業でもあります。人間同士なら「これやっておいて」って言えば済むところ、手取り足取り、全部教えてあげなくてはなりません。


「出来の悪い子ほどかわいい」と言いますが、面倒な分、プログラムが期待通り動いた時は、とても嬉しいものがあります。自分では出来ないような多くの計算と処理を一瞬で実行するという意味では、コンピュータは人間より優れた能力を発揮します。その能力を自分でコントロールできたことに対する快感、なのかもしれません。

誰かの役に立てる


作ったプログラムを使ってもらうことで、ユーザに喜んでもらえる。時には感謝されることもある。プログラマ冥利につきますね。


ほとんどのプログラムは誰かのために作られています。自分のためだけに作るプログラムもありますが、便利であるならばほかの人にも使ってもらいたい、と思うものです。誰かに使われて、ユーザと一緒に成長していくのがプログラムだと思います。

コンピュータをより楽しむために


昔に比べてプログラマは減っているのだそうです。構造を知らなくても車が運転できるように、プログラミングがコンピュータにふれる唯一の手段ではありませんし、必ずしも学ばなければならないものでもありません。


でも、車の構造を知っていれば、運転はより楽しいものになるでしょう。自分で改善したり、故障を直したりすることだって可能かもしれません。プログラミングに触れることで、コンピュータの新たな楽しさを見つけた。そんな人が増えてくれたなら、こんなに嬉しいことはないですね。

終わりに


3回にわたって、プログラミングの楽しさについて書いてきました。長々とまとまりのない文でしたが、その楽しさにふれるきっかけにでもなればと願っています。もしも間違いや意見等ありましたら、コメントなどいただければ幸いです。


つたない文章を最後まで読んでいただき、ありがとうございました。