考えたことのメモ書き。

ソフトウェアを作る人、特にプログラムを書く人にはたぶん2種類の人間がいて、一方は「入力と出力が仕様どおりに動けばいい」とだけ考え、もう一方はさらに「美しくあれ」と考え、場合によっては仕様さえ変えようと考える、気がする。あるいは人間の分類ではないかもしれない。ただの仕事でやっている (ただの仕事って謎な表現だけれど) 義務的でつまらないプログラムと、理想を持ってよりよい実装を考えるプログラムはそれぞれ違うだろうから、プログラムが2種類なのかもしれない。

ソフトウェアでは理想をある程度実現できる。そこで必要な道具は自分自身の思考とコンピュータだけでいい。「ある程度」と書いたのは、そのままの意味だけど、完全には実現できないということ。その必要な道具のうち、コンピュータ自体はハードウェアであり現実であるから、理想的にプログラムを書こうとして壮絶に富豪的なプログラミングをしても、まともに動いてはくれない。動かなくていいなら自分自身の思考だけでいい。でも、そういうのは現実逃避と云うやつで、非生産的なわけだ。現実でできるだけ理想なものを作るために、プログラムを考える。理想が現実になるから面白い。理想の現実のバランスを考えるのは難しい。

即物的にただプログラムを書ける人をとても良いとは思えない。でも、実際はそういう人のほうが役にはたつんだろうな、とも思う。コードの美しさなんて気にしない人のほうが、とりあえずプログラムを仕上げるのは早いだろう。仕上げるのが早いのはいいことだ。動作が正しければ問題ない。仕事として何かを作るなら、美しさなんて忘れたほうがいい。自分のポリシーなんてなくていい。人の役に立つことをポリシーにすればいい。

でも、そういうポリシー無しでただコードを書く人間の意思ってどこにあるんだろう。そういう人間は何かしら新しいものを作り出せるんだろうか。いや別に作り出せるとかではないんだけど、上手く書けない。

なんか面倒くさいし、どうせどう書いたって同じだから、もっとハッキリいうと、ただコードを書けるだけの人間が嫌いなんだ。演算子の両脇にスペースを入れるかとか、インデントにタブを使うかスペースをつかうかとか、そういうことを考えないやつが嫌いだ。そのプログラム自体じゃなくて、プログラムを通して見える人間が嫌いなわけ。ある小説があって、一行すごくアレな文があって、それで作者の人格疑っちゃうぐらいね。ちなみにその小説 (ライトノベル) は序章だけ読んでやめた。割と面白い作家だったから残念。関係ない。

仕事って実際にはすごく面白い仕事もあるんだろうけどさ、そんなの少数の例外だろうな、って思う。いや本当に例外かどうかはわからない。だって俺は別にソフトウェア・プログラミング畑 (謎) の住人じゃないから。

もともとこれは「Java ができる人ではなく Ruby ができる人を採用する。Ruby ができる人は理想と現実をよく考えている人が多い。Java で即物的なものを作る人より、そういう人を採用したい」みたいな記事を読んで、そのときからずっと考えていたことを文章化してみようと思って書き始めた。で、すごくバラバラに考えていたから、いつその記事を読んだのか覚えてない。んで、その記事の URL もわからなくなってしまった。誰かのブックマーク経由だった気がするんだけど、既に流れてしまったらしく見つけられなかった。自分でブックマークしなおさなかったのが悪いんだけど、どうも気になる。

  1. トップ
  2. soft
  3. ソフトウェア
  1. トップ
  2. think
  3. ソフトウェア