人は何故プログラムを書くのか

話題

プログラマの本質

これはプログラマ全員に共通すると思うのですが、基本的にプログラマはめんどくさがりやが多いです。

「めんどくさがりやなのにめんどくさいプログラム書くの?」って思っている人は本質的にプログラマに向いていないのでそっちの道に進まないほうが良いでしょう。

あのね、プログラムを書かずにやるともっとめんどくさいからプログラムを書くんですよ。

プログラムの利便性

最たる例が例えば事務方の収支計算などでしょう。

あれ、いちいち電卓で計算しようと思いますか?

「紙に書いてある数字を入力」、「それを電卓に入力」、「計算結果を紙に書く」という少なくとも三工程が必要な上に、そのどれかでミスをすると最終的な結果までズレてしまいます。

なので、バカみたいな環境だと「人が電卓で計算した結果を電卓でチェックする」なんていう馬鹿な役職が存在するらしいです。

仮に入力されたデータに対して電卓で計算する仕事を三時間で終わらせる人がいるとしましょう。

チェックするにもやはり三時間かかるので、合計六時間その人を働かせる必要があります。

時給千円だとすると、それだけで六千円かかるわけですね。

そういう仕事が週一であるとすると一ヶ月で二万四千円かかり、一年で三十万円弱かかるわけです。

同じことをプログラムにやらせるとどうなるでしょうか?

最低限の機能がついたパソコン三万円にOfficeなどの計算ソフトを入れても五万円もしないでしょう。

Officeがあれば例えば合計を求める関数であれば “SUM()” で事足ります。

あとはそれをドラッグアンドドロップすればいいだけなので、データ数が1000あっても一秒もかからずに計算できるでしょう。

ということは他の人が三時間かかるところが五分くらいで終わるわけです。

最初にエクセルの計算式などを覚えたり、学ぶ手間はかかるかもしれませんが長い目で見るとプログラムを導入した方が圧倒的に効率的なのです。

つまり、プログラマというのは「これをずっと続けているとすごい時間がかかるから、最初にちょっと手間をかけてでも後を楽にしよう」という考えが根底にあるわけです。

最初にプログラマはめんどくさがりやといったのはこういう理由からです。

ここまで読んでもプログラムのメリットがわからない人は言っちゃ悪いですが、頭が悪い部類の人間なので決して人をマネジメントする職種についてはいけません。組織全体の働きを悪くしてしまうでしょう。

もちろんプログラム側にもプログラムのエラーやコンピュータの故障によるデータ喪失などのデメリットはあります。

そういうデメリットはあるものの「少なくとも手作業で行うよりも大幅な高速化が見込める」というメリットを理解できるか、という意味で書いています。

プログラムの応用

コンピュータの最大の利点はその圧倒的な計算力と、休まず動かしても文句を言わないところでしょう。

以下、自分が手作業でもできることをプログラムでやるようになって便利だなと思ったことを書きます。

データのダウンロード

データが全部で10000位あるのですが、手作業でURLコピーしていたら一件についき十秒かけていたとすると全部で二十七時間かかるわけです。

これをプログラムでやればダウンロード自体に時間はかかりますが、自分が寝ていても作業ができるので効率的ですよね。

裏でプログラムを走らせながら別の作業もできるので、プログラムをつくるのが五時間くらいでできるならメリットありありなわけです。

例えば、Statinkから戦績データをダウンロードするのはプログラムを使って行いました。

お金が稼げる

プログラムでお金を稼ぐ、というのは難しいですが上手く利用すれば「お金を稼いだように見える」ということは不可能ではありません。

実際、発明王エジソンがアルバイト時代にやっていた方法をご紹介します。

当時エジソンは電信技師という仕事をしており、夜勤中はサボらずに働いているかをチェックするために上司から電信があった際に応答を返す必要がありました。

これをしていないとサボっていると思われるわけですね。

いまのようにインターネット回線があるわけではないので、やり取りされている情報は “is ready?” “I ready” のような単純な信号なわけですが、当時はこれでよかったのです。

ところがエジソンはこの信号の単純さに気付き、上司から信号が来た場合自動で応答を返す機械を作ってしまいます。

これがあれば勤務中にも関わらずいくらでも寝ることができるというわけです。

これを現代風に置き換えると、三時間でやれと言われた仕事をプログラムで五分で終わらせてあとの二時間五十五分は自分の好きなことができるということになります。

もちろん、給料は三時間分もらっていることをお忘れなく。

そして注意しなければいけないのは、それがバレるとプログラムでやっても三時間かかる仕事を押し付けられるかお金をくれなくなるかのどっちかです。

人の倍早く作業したからといって倍の給料をくれないのが日本のシステムなのです。

まとめ

さて、何故プログラムを書くのかということですがそれはプログラムを書いた方が将来的に利得が大きくなるからに他なりません。

むしろ、それ以外の理由はないです!!

もちろん、プログラムを書くのが楽しいっていうのはありますが、それはまた別のお話なわけです。

手作業でやったほうが早いことをプログラムで書くのが楽しいっていうのは相当なプログラム好きでないといないかと。

というわけで今回は何故プログラムを書くのかという根本的な理由に迫りましたが、次回はどうやってプログラムを学ぶのかということについて書きたいと思います。

コメント

  1. kuzuya より:

    ええやん
    とくにここ
    つまり、プログラマというのは「これをずっと続けているとすごい時間がかかるから、最初にちょっと手間をかけてでも後を楽にしよう」という考えが根底にあるわけです。

    • me より:

      ぼくはめんどくさがり屋なので同じことを10回やるのですら嫌ですからねー(´・ω・`)ショボーン

タイトルとURLをコピーしました