ユーニックス総合研究所

  • home
  • archives
  • programming-fun

プログラミングが楽しいですって?理由を4つ述べよ

プログラミングが楽しい理由4つ

プログラミングは果たして楽しいものなんでしょうか?
私は今は個人Web開発者として日常的にプログラミングをしていますが、あまりプログラミングの楽しさについては深く考えたことがありません。

初心者のころもプログラミングのどこが楽しいかとか、考えたことがありませんでした。

しかし私がプログラミングを続けてこられたのは、やはりプログラミングに楽しさがあるからなんだと思います。
そこで今回は私なりにプログラミングの楽しさ、どこがプログラミングは楽しいのか? というのを考えてみました。
具体的にはプログラミングの楽しさは↓の4つになります。

  • 問題が解決するのが楽しい
  • 自動化するのが楽しい
  • プログラムの設計が楽しい
  • エラー、バグ解決が楽しい

プログラミングの楽しさが理解できれば初心者の方もプログラミングに対する姿勢を積極的にできると思います。
断言しますが、プログラミングの楽しさはハマると異次元です。
私はプログラミングのおかげで映画やゲームなどの娯楽をほとんどやらなくなりました。
今ではそれらに使う時間をプログラミングに使っています。
それぐらいプログラミングはハマると楽しいものです。

🦝 < プログラミングの楽しさは無限大

しかし、この記事ではプログラミングの楽しい部分だけではなくつらいところにもフォーカスを当てたいと思います。
楽しさと辛さは隣り合わせだからです。

問題が解決するのが楽しい

プログラミングをやる人の多くが楽しさを感じるのが、プログラミングで問題解決することです。

  • プログラミングで問題解決する

プログラミングで解決したい問題というのは世の中に沢山あります。

複数のエクセルファイルを集計したいとか。
複数のテキストファイルを連結したいとか。
複数のデータをもとにグラフを表示したいとか。

などなど。
こういった沢山ある問題を解決するときに行われるのがプログラミングです。
プログラミングを行うことでこれらの問題をすばやく(時には簡単に)解決することが可能になります。

プログラミングを使った問題解決と言うのは、ゲームやパズルを解くのに似ています。
問題と言う壁がそびえたっていて、その問題を解決しなくてはならない。
その問題を解決できれば、いろいろなストレスから解放される。
そういった問題を解決できれば、脳汁ドバドバ、得られるのは至福の達成感というわけです。

🦝 < 脳汁・・・

世の中の多くの問題は解決されることを待っています。
そして世はまさにIT全盛期、パソコンなしでは会社もフリーランスの作業部屋も回らないという時代です。
そういった時代において、プログラミングで問題を解決するというのはもはや「時代の流れ」と言えます。

乗らなくてはいけません。このビッグウェーブに。そう、プログラミングで問題を解決する人々は、そのビッグウェーブに乗っているのです。
時代の先端をサーフィンする感覚をプログラミングを通して得ているのです。
そしてその姿は、まぁ、はたから見ればディスプレイに向かってカタカタやってるだけですが、しかし時代の最先端という点でかっちょいいわけです。

プログラミングを使った問題解決の楽しさとはここにあります。
パソコンという時代の最先端ツールを使い、自分たちの雑多な問題をばったばったとなぎ倒して解決していくという快感。
これを得れるのがプログラミングです。

世が戦国時代であればプログラミングを行う者は魔法使いと言われていたでしょう。
魔法使いが魔法の杖をくるりと回し、あーでもないこーでもないとエラーやバグに悩まされながら問題を解決するさまを想像してみてください。
え? あまり楽しそうじゃない?

・・・・・・。

いいえ、楽しいんです
プログラミングを行うということは魔法使いになるということです。
そして、この魔法使いにはだれでもなることができます。

自動化するのが楽しい

問題解決と近い考えですが、プログラミングの楽しさの1つが自動化です。
自動化とは、ある手順からある手順までをすべてパソコンにやらせてしまうということです。

たとえば

  • ファイルを作って
  • データを書き込んで
  • ファイルを閉じて
  • バックアップを取る

という一連の作業を自動化すると、パソコンはこれらの作業をすべて自動でやってくれます。
この自動化はプログラミングの醍醐味と言っても良いでしょう。

めんどくさい作業はプログラミングですべて自動化してしまいましょう。
想像してみてください。自分の抱えている雑多な問題、作業の山を。
そしてその作業の山をプログラミングでばーっと自動化して、パソコンにやらせてしまうところを。

パソコンは電気で動きます。
それ以外はいりません。電気があれば1日中24時間働くことが出来ます。
パソコンに24時間働かせて、そのあいだその時間をすべてあなたのために使っているという事実を考えてみてください。

パソコンがあなたのために24時間働いてくれる

これは有史以来の人間の夢だったはずです。労働の自動化、労働の資本化です。
白人が奴隷を買いあさっていたのはこの夢を実現したかったからです。

しかし今の時代、奴隷は必要ありません。
必要なのはそう、パソコンです。
奴隷と言う呼び方は適当ではないでしょう、ここではパソコンはあなたのパートナーです。

あなたのパートナーは、あなたのプログラミングによって作成されたソフトウェアを読み込んで、そこに書いてある通りに問題を解決していきます。
それらは自動で行われます。それもものすごいスピードで。

なんかそう考えると脳汁出てきませんか?

🦝 < また脳汁・・・

プログラムの設計が楽しい

プログラミングによる自動化ではプログラム(ソフトウェア)を作るわけですが、ここで必要になるのがプログラムの設計です。
残念なことにプログラムの設計はいまのところ人類は自動化できていません。
そのため設計は人間の手で行います。

ソフトウェアの歴史はまだ浅いですが、その設計自体には非常に多くの開発者が頭を悩ませてきました。
構造化プログラミング、オブジェクト指向、デザインパターンなどなど。
数々の思想や考え方があみだされて「これいいよ!」とか「こっちのが新しいよ!」とかいまだに話題が尽きません。

プログラムの設計で大事なのが最初に「アーキテクチャ」と呼ばれる土台を選ぶ作業です。
プログラムの開発ではこの土台の上にどすんどすんとモノを置いていくわけです。

設計の楽しさは、この土台選びからはじまっています。
アーキテクチャには向き不向きがあり、作りたいプログラムの性質によって開発者が選択しなければいけません。
その選択で悩むのが楽しさでもあり面白さでもあります。

また長期的なプログラムの開発では継続した「リファクタリング」と呼ばれる作業も重要になってきます。
これはプログラムの設計を改善する作業のことで、複雑になっている設計をシンプルにするのが目的です。

こういったアーキテクチャの選択や実装、そしてリファクタリングはやってるみると意外ですが、楽しいんです。
アーキテクチャを使ってソフトウェアを組み立てるところは自分が全知全能の神になったような気分になります。
そのプログラムを生かすも殺すも自分次第! しかしプログラムは元気に成長していく! というところが、だれかが自分の能力を肯定してくれるような感覚になるんですね。

🦝 < 俺は肯定されている!

🐭 < プログラミングの神に?

プログラムの設計と言うのは自分の能力が露骨に反映されてしまうところです。
そのため、失敗することもあります。
しかしその失敗も次の開発の糧になるわけです。
その失敗も含めてプログラミングは楽しいわけです。

失敗を重ねることで徐々に設計のコツがわかってきて、うまく実装できるようになってくるんですね。
これは例えるならスケーターがスケートボードでコケながら技を習得していく様子に似ています。
失敗をすることも含めてプログラミングを楽しむことでそれが血となり肉となっていくわけです。

エラー、バグ解決が楽しい

これは人によって好みがわかれるかもしれません。
しかしプログラミングにおけるエラーバグの解決が楽しいという人はけっこういます。
そんなものどこが楽しいんだ! となるかもしれませんが、これにはちゃんと理由があります。

プログラミングというのは言ってしまうと、エラーやバグを解決することです。
これがプログラミングにおけるメインの仕事です。
つまり「プログラミング≒エラー、バグ解決」と言ってしまっても支障がないわけです。

プログラミングをする人は日常的にこのエラーやバグを解決しています。
それも呼吸をするようにこれらを解決しなくてはいけません。
すると人間はどうなるのでしょうか?

なんと、苦痛だったエラーやバグ解決が楽しくなってくるんですね。
これはもう、ビックリですが、実際そうなんです。
初心者の頃はあんなに苦手だったエラーやバグ解決が、もう一種のアトラクションのようになってしまうんです。

人間の順応性ってやばいですね

そうなったらもはや立派なプログラミング・ジャンキーの誕生です。
そういう人は朝から晩までプログラミングをしても平気です。
ただ健康にはお互い気をつけたいところです。

逆にプログラミングのどこがつらいのか?

では逆にプログラミングのどこがつらいのか?
というところですが、まぁこれは運動不足でしょう。

プログラミングは頭脳労働で、身体をほとんど動かしません。
そのため運動不足になり、肥満や心筋梗塞、糖尿病などのリスクが高まります。
こればっかりは仕方ありません。残念!

あとはエラー、バグ解決は楽しいという話でしたが、解決できないエラー、バグは楽しくありません
もうこの時のエラーやバグは憎らしいったらありません。だって解決できないですからね。そんなもの楽しいわけありません。

おわりに

今回はプログラミングが楽しい理由を4つあげてみました。
この記事を読んでプログラミングの楽しさを再認識して頂ければ幸いです。

🦝 < プログラミングは楽しい

🐭 < 中毒には注意ね