文字の洪水に溺れながら

人生初心者、でも人生のハードモードぐらいを生き抜きたい人間。

プログラミングは目的でなくて手段であるべきか

僕はプログラミングのプの字もわかりません。
ぎりぎりHTMLを2年ぐらい前にHPを立ち上げた時にいじってみたくらいで、それすら、もうすっかり忘れてるぐらいです。
正直、C言語?何それ喰えんの?見たいな感じです。
ただし、そんな僕でも重度のネットユーザーだからかプログラミングの便利さはわかります。はてぶに始まりちょっとしたアイディアでも自分の思い通りの指令を動かすソフトができるのならとても便利なんだろうなぁと、PCをいじっていると思うことがよくあります。

そんな中でこの頃考えるのがプログラミングというのはそもそも目的なのか、手段なのかっていうことです。
そもそも、僕の周りのプログラミングをやっている人になぜプログラミングをやっているのですか?と聞くと十中八九「面白いから」という返事が返ってきます。
正直な話、「便利だから」って言う答えは聞いたことがありません。
だからこそ、「あぁ、みんなはプログラミング自体に目的を求めているんだな」と強く感じます。

だからこそSE35歳定年説なんていう俗説に対してのこの記事とかは重みがあると思います。
http://japan.cnet.com/blog/itheart/2007/11/20/entry_25001908/
36歳になって思う「プログラマ35歳定年説」 竹内義晴

本当に大好きなら、その道を切り開いていく・・・プログラマという職業はきっとそういう厳しさと現実は他の職業よりあるのかもしれない。自分で仕事をとってきて、「技術者は楽しい」とイキイキと仕事をしている方は知人でも実際にいる。そういう方は応援したくなるしもちろん定年なんかない。
けれども、実際には年齢を重ねると確かにバリバリ作りこめる人は少なくなる事実はある。

結局40になっても生き残れるSEの方達は目的としてのプログラミングがその年になってもぶれていないって事なんですよね、だからこそ最先端の技術をバリバリこなすことができる。

でもここで問題なのはプログラミングって本当は手段としてできた物だ、って事ですよね。

プログラミングは何かの解決策としてのソフトを作ることです、ですから究極命題は「問題を解決する手段の構築」なわけで、これは目的じゃない。プログラミングって本来なら目的のための手段のひとつに過ぎないわけですよ。そこにプログラミング自体が楽しいからやるという思考はあまり存在していない。

だからこそ

http://d.hatena.ne.jp/aike/20080615
スーパークリエイターがSI業界で即戦力になれない理由
の中で言及されているように

そもそもプログラミングとは目的ではなく手段だ。だから何かシステムを開発する場合、手段(プログラミング)だけでなく、目的にも詳しくなくてはならない。
(中略)
SI業界が開発するシステムの目的は何か? それがつまり「業務知識」というやつで、金融や保険だったり、証券取引、財務会計、生産管理、物流・在庫管理、販売管理だったりするのだ。それぞれ必要とされる知識は非常に多い。普通の新入社員がOJTで身につけようと思ったら数年かかってもおかしくないだろう。
ベテランエンジニアの中には高待遇で現場を渡り歩くプロもいるが、そういう人は間違いなく「プログラミングと金融」とか「プログラミングと在庫、販売、データマイニング」というようにプログラミング以外に専門分野を持っているのだ。

みたいに、プログラミングの技術はわかったから何に対してプログラミングするのが前提知識ぐらいはあれよ、ということになってしまう。でもこれはプログラミング目的者からすると凄く苦痛なことで、だからこそプログラミングはできるけどSEにはならないっていう人が多いのかもしれない。

このことは

ホームページにオフィスを作る (光文社新書)

ホームページにオフィスを作る (光文社新書)

ホームページにオフィスを作る 野口悠紀雄
の中の
「日本のIT革命はインフラ整備などのハード面ばかり充実させているが、大事なそのハードを使ってどのような情報を共有するのか、利用するのかという面が全く考えられていない(アメリカの方が日本の古典データベースが充実している等を例にしている)」と、とても共通したところがある気がします。

まとめるとITに連なるもの自体が楽しいのは仕方ないにしても、もし、それを仕事とかに活かそうとするのならばその技術を使って何をしたいのかを常に考え続けてないといけないという事ですね。


(自分メモ)
そういう意味では大学のメジャー過程を経営にしてマイナー過程を情報科学にするのはいい選択かもしれない。