てきとーになんか書きます

過去の記事はね,汚点.

続・幸せになるために

はじめに

前記事

spark6251.hatenablog.com

大事なことは「幸せになるためにはやりたいことをやる.そのために面倒なことに掛ける時間を減らす」ということ.

プログラマの三大美徳

プログラマ諸兄にはお馴染みであるが,それ以外の者には馴染みがないだろうため引用しておくと

We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris. --Larry Wall*1

である.日本語に訳すれば「プログラマには3つの美徳がある.怠惰・短気・傲慢だ」といったところだろうか.
殊,怠惰は重要である.

作業量と作業時間と知識量

ここで言う作業量とは,成すべき仕事の量ではなく,実際に手を動かす工数とでも言うべきものである.
作業量は知識量に依存し,作業時間は作業量に依存するため,作業時間は知識量を増やせば減らすことができることが分かる.
即ち,面倒なことに掛ける時間を減らすために,楽になるために知識量を増やすのが良い.
怠惰であろうとするために勤勉であるため,怠惰であることと矛盾しているように思えるが,本質てきには怠惰に帰着する.

後輩の言葉なのだけれど,「まともな道具を持ってないのに手持ちの道具だけでなんとかしようとするもんじゃないですね」は常に意識すべきことである.

知識量の増やし方

www.google.co.jp

現代のネットワークの力は素晴らしい.検索をするだけで簡単に情報が手に入る.
情報系の人間は多くの場合「ちょっとした手間」をプログラム*2で解決する.
その他の人間はあまりそれをしない傾向があると思うが,そのために何度も繰り返し同じ行動をするのは馬鹿らしい.ああ,そうだ,猿にタイプライターを打たせよう.
怠惰であろうとして怠惰でいることが,実は最も面倒な道であることに気が付かないことは危険である.
その道は時間の浪費だけでなく精神に著しい負担を掛ける.人間は,唯唯Excelスクリーンショットを貼る作業をこなすことが出来るようにはなっていない.健全に,の話だ.

自身が理学部であるため適当にそれらしい例を挙げるならば,そう,例えば常微分方程式をプログラムで解く時などはそうだ.
C++のライブラリであるBoost C++ Librariesには常備分方程式を解くBoost.odeintが用意されている.それは微分方程式を解くプログラムを容易に書かせる.
但しグラフにプロットをする作業までC++で書くのは良くない.そういう作業はPythonが適している.matplotlibmplot3dは素晴らしい.

信頼できるものであれば,ネット上にあるものを利用して作業量を減らすのは全く悪ではないし,むしろそれを行わないことこそ悪である.
極稀に作業量を重視する馬鹿な人間は存在するが,まあ,それは仕方ない.その分サボって時間を潰そう.1時間の仕事を10分で終わらせて50分サボれば同じだ.

おわりに

幸せになるために怠惰であるべきであるし,そのために勤勉であるべき.

*1:Programming Perl (1st edition), Oreilly And Associates

*2:Linuxコマンドや正規表現なども含む