それは抽象化の道具を増やしたいから。というのも、プログラマが相手にしなければいけない問題ってのはときどき嫌になる程多様で、それらはもしかしたら「オブジェクト」で抽象化するのが良かったり (GUI は間違いなくこれ)、「関数」で抽象化するのが良かったり (GUI プログラミングでも高階関数なしでハンドラを書くのはかったるいケースがあるし)、「関係」で抽象化するのが良かったり (ってかリレーショナルデータベースね)、実は古き良き手続き型の構造化プログラミングで考えた方が手っ取り早かったりする。だったらさー、モナドが最適なケースってのもあるんじゃないの? ということ (これは勿論、他の理論・パラダイムにも当てはまる)。現に Haskell なんつー言語が出てきてるし。
オブジェクトも関数も関係も何もかもはそこら中に転がっていて、同じようにモナドや他の理論も転がっているはず。実際、プログラムが書けるか (特に上手く書けるか) どうかってのは最適な抽象化の道具に気がつくか否かにかかっているのだから、使える道具は多い方がいいじゃん。ただまあ残念ながら俺はたいして頭が良くないので、モナドとか圏論を理解するのにはまだまだ時間がかかりそうだ。
新卒の分際でいらんことばっかり知ってるせいか、実年齢よりも四つか五つ上に見られることもある。まだあと 2 時間弱は 22 だっつーの。その半面、実年齢よりも低く見られることもあるんだよなあ (大学時代なんて、よく高校生と間違われた)。どっちにしろ、俺は年相応に見られたことがあまりない。
クライアントはそういうところを疑問に思わんのか? そもそも表計算ソフトをワープロ代りに使わされることがとんでもない大間違いだし、それにあの意味不明な機能・インターフェース・バグはどうにかならんか。
最近仕事がとても辛いのだが、その理由の 99% 以上はこれ。一日中こんなもんで文書を書いてると頭がおかしくなる。
プログラミング自体が難しいものだし、数学だって難しいし、表面的でない理解というのが何より難しい、たったそれだけのことだよな。
どーでもいいが、 George Lynch 先生がヤングギターで語っていた「全てを学んでそれを忘れろ」がどうしようもない真理だと感じる今日このごろ。