Copyright (C) Ada72 All Rights Reserved.

第70話 幸せにくちづけを 2000/04/02

私はコーヒー、特にエスプレッソが好きです。 エスプレッソを入れるにはエスプレッソ・マシーンという専用の器具が必要です。
しかし私は普通のドリッパーは持っているのですが、 エスプレッソ・マシーンは持っていません。 エスプレッソを飲みたくなったら喫茶店に行くのです。
川崎にいた頃はお気に入りの喫茶店があって、 エスプレッソを飲みたくなったらそこへ行っていたのですが、 大阪に越してきてからどこで飲んだものかと困っていました。
と、 近所に喫茶店ができました。
早速行ってみたのですが、 なかなかいい雰囲気です。
エスプレッソは合格でした。
さらに、 嬉しいおまけがついていました。
食器がすべてウエッジウッドのものだったのです。
私のエスプレッソはキャベンディッシュのエスプレッソ・カップで出てきました。

説明しよう(タイムボカン風に)。
ウエッジウッドはイギリスの食器ブランドメーカーです。
ブランドの食器というのは、 大抵価格帯によっていくつかのシリーズを持っていて、 シリーズ内には一通りのディナーセット・ティーセットが揃っています。
キャベンディッシュというのはウエッジウッドのシリーズの一つです。 価格帯でいうと真ん中ぐらい、 我々一般庶民が応接に使えるランクです。
なんでそんなことに詳しいかというと、 私は兄弟と二人で、 毎年両親にこのキャベンディッシュシリーズのうち一種類をプレゼントしているんですよね。 今年はティーカップ、来年はディナープレート、という風に。
なんで食器なのかというと、 両親まとめてプレゼントして喜ばれ、 かつ毎年毎年、 今年は何にしようと考えなくて済むからなんですよね(笑)。 ま、 全種類揃ったらまた考えなきゃいけないんですけど。

で、 話をもとに戻すと、 私はキャベンディッシュのエスプレッソ・カップを大変気に入ってしまったのです。
エスプレッソが旨い。 かつお気に入りのカップで出される。 私のハートはわしづかみにされてしまいました(笑)。
私は幸せな休日のひとときを家族と共に過ごし、 その喫茶店は一瞬で固定客を一人確保したのです。

情報処理産業も含めて、 どんな仕事も、 クライアントを満足させる、 つまり幸せにすることが原点です。
おいしいご飯を食べて幸せになる、 性能の良い自動車で快適なドライブを楽しんで幸せになる、 一流ホテルの行き届いたサービスで幸せになる、 などなど。
我々プログラマの難しいところは、 直接クライアントと折衝する機会が少ないことです。
なぜクライアントはその機能が欲しいのか。
クライアントは何に不自由していて、 何を求めているのか。
クライアントと直接折衝するSEやコンサルタントがいくらクライアントから要求を聞き出したところで、 我々にその意図が伝わらなければ結局クライアントの求めるものとは異なるものが出来上がってしまう。
折衝せずともクライアントの要求の真意を汲む。
それが、 プロのプログラマに求められる最高の技能なのです。

K氏率いる我々のチームが育て上げてきたプロダクトももうすぐテストに入ります。
思えばユーザがどういう使い方をするかとか、 ユーザはこれに困っているだろうからこうしたらいいよとか、 設計段階で相当もめました。
一生懸命作ったものだから、 クライアントを幸せにして欲しい。 我々の一途な思いをのせて、 プロダクトは巣立っていきます。
我々のプロダクトはクライアントの期待に応えられるだろうか?
クライアントを幸せにすることができるだろうか?
そして、 クライアントを幸せにすることで我々も幸せになれるだろうか?
幸せは、 すぐそこまでやってきている。

しかーし!
テストに入ったら地雷だらけの地面を歩くような… ( 以下略、 って略になってないよー ) 。

お前なんかとっとと地雷を踏んで死んでしまえって? 嫌なヤツに限って悪運が強いんだなぁ。

第71話 小僧の神様 2000/04/10

こんなページでも毎週読んで下さる方が結構いらっしゃるようで、 おかげさまで7000ヒットを越えました。
おおお凄い! と思っていたら、 読者の方から感想を頂きました。 第69話 「 二番目に好きなこと 」 への感想です。
プログラマを目指して頑張っている他の方にも是非読ませてあげたいとお願いしたところ、 ご本人から掲載許可を頂きましたので、 メールヘッダ・ハンドルネーム・シグネチャを除く全文を掲載させて頂きます。

はじめまして。*といいます。

いつもWebPageを楽しく拝見させて頂いています。
今週のコラムについて、私なりにすこし思うところがありましたので、
メールを書かせて頂きました。

私はAda72さんとは逆で、「1番目にプログラミング、2番目に文章書き」が
好きなんです。すると職業をコラムニストにするかといえば、そうではなく、
将来は何らかの形でPGに関わるような仕事を為ていきたいと思っています。

何を仕事として生計をたてていくか、という問題は昔からあって、2番目を
職業とするという意見は非常に的を得たものだと思います。すると何か矛盾が
ありまして、自分の行動と意見の差ついて少々考えた時期がありました。

たどり着いた結論はプログラミングを1つの行為にまとめてしまうことが
間違っている、というものでした。
プログラミングスタイルにはいくつかありまして、バリバリ力技で書く
職業PGに多いスタイルと、エレガントさを追求する趣味PGに多いスタイルに
大別できるのではないかと思います。

すると、上の順位は「1番目に趣味PG、2番目に職業PG、3番目に文章書き」
というようになるのです。妙な言い訳かもしれませんが、職業PGというのは
ある意味で我慢の仕事だと思うのです。上司に対して「わかってねーな、
こいつ」、と思うことも時にはあるでしょうし、なにかと大変です。
趣味は思う通りにできるからいいですよね。自分の主張はすべて通るし、
時には完成しなくても責められないわけですから。

私は大学1年のときから、職業PGとしてある程度プロ意識をもって仕事を
してきたのですが、これまで色々なところを渡り歩くにつれて、PGという
行為よりもコンセプトが大事であり、結局は一部にとらわれずに全体をみないと
だめだなと強く思うようになりました。今後はコンピュータの世界をもっと
広く取り扱える職業を目指したいと思っています。
趣味の世界でも仕事の世界でも、クリエイターとして、やっていきたいです。

1番目にやりたいことを1番にできないのはすこし切ないですよね。
どんなにやっても結局お金にはならないので、どうしようもないのは事実ですが。

私は来年度大学を卒業します。専攻は物理学だったのですが、大学院では
情報工学をやる予定です。趣味で遊んでいられるのももう少しだけです。
社会人になっても、Ada72さんのように余暇を1番の趣味に充てられるような
人生を歩みたいと思っております。

稚拙な文章でしたが、読んでくださってありがとうございました。
これからもコラムを楽しみにしています。それでは。

// eof

凄い! 今の学生さんって学生の間にこんなにちゃんと仕事のこと考えてるんだ…。 偉すぎ。
お前がなーんも考えずに社会人になっただけだろって? 仰せの通りです。
…って、 ここで終わったら怒られるだろうなぁ(爆)。

この方の意見は非常に筋が通っていて、 全くその通りです。
仕事ですから、 我慢があるのは当たり前なんですよね。
ところが、 私、 仕事の上であんまり我慢したことないんですよね。
この方みたいに学生の頃からアルバイトでプログラミングしていたこともなく、 大学院は2期生だったため 「 先輩の遺産 」 もなく0からごりごり書いて、 会社に入ったら新規プロジェクトにじゃんじゃん投入されて、 「 入ってN年は先輩の残した汚いソースをメンテして… 」 なんて苦労は全く味わっていないのです。 そのかわり、 デスマーチはいっぱい経験しましたけど(笑)。
環境にも恵まれていて、 人間関係で困ったとか、 上司の理解が得られなかったとか、 そういうのも味わっていません。 むしろ助けられっぱなし、 育てられっぱなしです。
で、 嫌になったらぷいと飛び出す。 無茶苦茶ですな。
これまで 「 まあなんとかなるさ 」 と思ってなんとかなってきたので、 苦労してきた人からは、 「 コイツ人生なめとんなー 」 と思われることが多いです。
だからこの方みたいにいろんな修羅場をくぐってきた方から見れば、 私は認識が甘いように思われるのでしょう。
人生なめきって生きているのは確かだし、 「 まあなんとかなるさ 」 でなんとかなってきたし、 これからもなんとかなると思ってるし(ひえー)、 困ったらその時考えようぐらいにしか思っていないので、 まあこの点に関しては置いといて (置いとくんかよ!) 。

私がこの方へのメールでも指摘したのは以下の部分です。
> プログラミングスタイルにはいくつかありまして、バリバリ力技で書く
> 職業PGに多いスタイルと、エレガントさを追求する趣味PGに多いスタイルに
> 大別できるのではないかと思います。
確かにこれも的を得ていて、 よく見ているなと感心したのですが、 実は本物のプロのプログラマのソースって驚くほど美しいんです。

私には神と仰ぐプログラマがいます。
彼との衝撃的な出会いは、 私を退職へと追いやった最後のデスマーチの最中でした。

親会社からは毎年、 予算の使い道が決まる7月頃に正式な契約が結ばれます。 それまでに 「 今回はこんなものをやることになりそうだ 」 みたいな打診があり、 4月から6月までは調査やプロトタイプ作成をするのですが、 その年は異常でした。
年度初めに来た仕様が膨大なものだったのです。
それを3月末、 つまり年度末の決算までに納品せよというものでした。
SEが 「 これはいくらなんでも無理です。 断りましょう 」 と言うのですが、 親会社との関係があります。
結局GOサインが出ました。
しかしいくらなんでも無茶すぎる。
全部を内製するのが無理なことは最初から分かっていたので、 一部を外注会社に打診しました。
が、 その外注会社の担当者も、 それがデスマーチであることぐらいお見通しです。
ところが、 外注会社もやはり会社同志の関係上断れない。
さてどうしたものか。
そこへ現れたのが彼だったのです。
彼は外注会社の契約社員として打ち合わせに訪れました。

彼はフリーのプログラマ。 35歳前後だったと記憶しています。 年収1000万円。
前の会社で使っていた外注会社を含め、 5社程度と契約関係にあり、 デスマーチだとか、 社内にノウハウがないとかいう場面に声がかかるのだそうです。
2社の仕事を平行でこなしたりはザラのようでした。
その日やってきた彼は、 概略だけ聞いて、 これから作るものの元になるソースをちらりと見て、 「 ああ、 これならいけますよ 」 と、 あっさり言ってのけました。

そしてデスマーチの火ぶたが切って落とされました。
ちょいちょいバグはありましたが、 彼は驚異的なスピードでプロダクトを完成させたのです。
やや落ち着いてから、 納品されたソースの所在を教えてもらって、 私は彼のソースを見る機会を得ました。
年収1000万のプログラマのソースって、 どんなだろう?
" vi *.cpp " とタイプしてリターンキーを押したその瞬間 -

それは、 芸術作品でした。

暫くの間、 雷に打たれたように動けなかったのを憶えています。
あんな短納期でこんなにエレガントなソースが書けるなんて!
衝撃でした。 本物のプロの仕事って、 こんななんだ。
その瞬間から、 彼は私の神様になりました。

それ以来神の領域を目指して頑張っているつもりですが、 まだまだ糞プログラマです。
いつの日か、 私もあんなエレガントなソースを書いてみたいものです。

エレガントなソースが書ける前に死ぬ方に全部! 倍率ドン! さらに倍! 篠沢教授を除いて全員正解! ってか? やっぱ鯖読んでるように見えます? > K氏

第72話 言語と思考(前編) 2000/04/16

時々読者の方から 「 リンクを張りました 」 というお知らせを頂きます。 先週1つ頂いたのですが、 個人ではなく会社のホームページからでした。
早速訪れてみてびっくり。 「 開発言語 : RPG, VB, Access, COBOL 」 となっています。 バリバリの事務系開発会社のようです。
ひえー私以前COBOLを無茶苦茶けなしてませんでしたっけ?
それでもリンクを張って下さったこの会社の寛大さに感謝…。

で、 恩を仇で返すようなネタに持っていく(爆)。
COBOLの言語仕様をじっくり見たこともないし、 実際にプログラミングをしたこともないのにここは敢えて偉そうに言わせて頂くと、 私がCOBOLをあまり好きになれない理由は、 ずばり 「 構造化プログラミングが不可能に近いから 」 です。
言語は思考を形成すると同時に束縛もします。
以前に一度このコラムで紹介した Benjamin Whorf にもう一度ご登場頂きましょう。

言語は考え方を形造り、 考えられるものを決定する。 - Benjamin Whorf ( 言語学者 )
言語は思考を形成する。
プログラミングに限らず、 我々はものを考える時、 言語を道具として使う。
だがここに一つ大きな問題がある。
言語の能力には限界があるのだ。
ここに2つの言語があるとする。 片方で表現できることがもう片方では表現できない。
簡単な例がある。 " There was no one in the park. " という英文を原文に忠実に日本語に翻訳できるだろうか。
どこの教科書にでも載っているこの一文に誰もが一度カルチャーショックを味わっているはずだ。
「 ない 」 人が 「 いる(いた) 」 とはどういうことだ!

プログラミング言語にも同じことが言える。
COBOLで構造化プログラミングをすることや、 Cでオブジェクト指向プログラミングをすることは、 やって出来なくはない。
が、 目的に合う言語を選んだ方が良い場合もある。
私は、 言語のパラダイムを越えようとする行為は、 ちょっと大袈裟だが、 黒の絵の具で色付きの絵を描くようなものだと思っている。

COBOLで長くプログラムを書いていると、 ひたすらだらだらと書く癖がつく。 Cで書いてもその癖は踏襲され、 全く同じようなロジックがずらずらと書き連ねられていく。
FORTRANの人はルーチン名や変数名がやたらと短く、 暗号めいたコードを書く。
Cの人にクラス設計をさせるとスーパーマンのようになんでもこなすクラスを1個だけ作ってくれる。

上に揚げたのは、 「 言語がいかに人間の思考をその言語の思想に縛りつけるか 」 の好例である。
今まで自分を縛りつけていたものから自由になったはずなのに、 自分の思考を言語から開放することが出来ないのだ。
なぜ開放できないかと言うと、 不自由を不自由だと認識していないからだ。

話がちょっと脇道にそれるが、 自分が使っている道具に関して不満がないというのは、 私にとって大変興味深い現象である。
どんな素晴らしい道具にも欠点がある。
C++を勉強しはじめた頃、 今までCで書いていて 「 不便だなぁ 」 と思っていた点があまりにもエレガントに解決されていることに驚いた。
が、 C++を使えば使うほど、 欠点も見えてくる。
Javaに浮気をしそうになる。
早くオブジェクト指向を越えるパラダイムが登場しないかなぁなどと思ったりもする。
私ですらそう思うのに、 言語に縛り付けられている人は何故そう思わないのだろう。
闘って自由を勝ち取ろうとは思わないのだろうか。

言語が誕生して使われ、 欠点が多数指摘され、 それが頂点を極めると爆発が起こって新たなパラダイムが誕生し、 爆風の吹き去った後に新たな言語が姿を現す。
そして人々はその言語でまた新たなる思考を始める。
ここに東洋的な思想を打ち込んでみよう。
Whorfの言葉に対し私は一つの反論を持っている。
私は、 思考は言語のみによって形成されるのではないと思っている。
思考が誕生する時、 特にそれが曖昧模糊たる状態の時、 それは言語で表現できるものではない、 そうではないだろうか。
風呂の中で思いついた素晴らしいロジックを書き留めると、 言葉では書き表せなくて、 小学校の図工の時間を彷彿とさせる謎の絵になったりするのは私だけだろうか?

パラドキシカルな表現だが、
言語に限界がある限り、 言語には無限の可能性がある。
我々はどこまで可能性を追求できるのか。
計算機言語は自然言語に比べれば赤ん坊も同然だ。
この子が立派な青年になる頃、 我々は何を考えているのだろう。

ちなみに先の色付きの絵の話ですが、 黒の絵の具で色付きの絵を描く方法はたくさんあります。

  1. 黒の絵の具の成分を分析し、 他の色を作れる分子を抽出し、 別の色を作ってそれで描く
    一からC++を作るような大技です。 未来のシュトラウシュトラップ目指して頑張りましょう。
  2. 色紙に描く、 色付きのものに描く、 白い紙に描いて色付きの光を当てる、 透明なフィルムに描いて色付きのものの上に置く
    エミュレータを作る中度の技。 作ってしまえばこっちのものです。 移植が簡単で便利でしょう。
  3. 色絵の具を持っている友人に色を塗ってもらう、 色紙や色付きフィルムを上から張る、 鞄からこっそり色ペンを出してきて塗る
    「 ここだけはC++で組ませて下さい! 」 と上司にすがる安直な技。
  4. 黒も立派な色だと主張し、 黒だけで描く
    素晴らしい主張ですが、 他の言語に移った時にはそれらしいコードを書いてね。
「 ズルイ! 」 と思ったあなた、 プログラミングにはインスピレーションが大切なのですよ。

言語の限界まで考え抜くと、 そこから先は言語の助けを借りることは出来ません。
閃いた時、 そこには言語では既存の言語では表現できないものが誕生している。
さあ、 それを記述できる言語を設計しましょう!
先にも述べたとおり、 言語には無限の可能性があるのですから!

お前の可能性はゼロだって? 黒だって立派な色だもんねー(爆)。

第73話 言語と思考(後編) 2000/04/23

先週FTPした後で、 「 そういや上方向のベクトルにしか触れなかったよなぁ 」 と思ったので後編をお送りしましょう。
先週書いたのは言語による思考のパラダイムを、 上方向にシフトする話でした。 今日は下方向へのシフトの話です。
「 時間軸は正の方向にしか伸びてないんだから下方向へのシフトはありえない 」 と思ったら大間違いです。
我々は、 ソースを書けば書くほど、 負の方向へベクトルを伸ばしていくのです。
そういえば 「 僕の前に道はない、 僕の後に道は出来るのだ 」 という言葉がありましたね。
自分一人ならまだいい。 セピア色の写真をアルバムから取り出してきて昔を懐かしめばいい。
問題は他人の過去だ。 しかもパラダイムが一つ、 いや、 あるいは二つ以上も離れている過去。

少なくとも私は最早オブジェクト指向を抜きにして設計することは出来なくなっている。
ところが、 現実にソフトウェア開発の現場にいると、 オブジェクト指向以前のプログラムのメンテナンスの仕事はたくさんある。
その時、 ベクトルを逆方向に向けるという、 「 逆パラダイム・シフト 」 を迫られるのだ。

私が幸運なのか世の中みんなそうなのか分からないのですが、 永らえてきたソースというのはそれなりに立派なんですね。
先見の明があるというか、 オブジェクト指向言語で書くのならこれはクラスにするんだろうなというものは奇麗に構造体になっていたりして、 ソースを見ながら上方向に再構築が意外と容易です。
構造化プログラミングが可能な言語でこれがなされていてもそれほど驚いたりはしないのですが、 本当に驚くのはFORTRAN、 COBOLといった、 まだ世の中に 「 構造化プログラミング 」 などという言葉すらあったかどうか分からない頃に誕生した言語で書かれたソースです。
そんな古い言語で書かれているにもかかわらず、 エレガントなデータ構造とアルゴリズムを持つソースに出会った日にはもう夢中になってしまいます。
これを書いた人はどんな人なんだろう? 生きていたら会ってみたいな!
なんてことをいろいろと考えてしまいます。

何しろ我々の世代というのは取っ掛かりがPascalかCですから、 データ構造はまず間違いなく構造体で持つことから始まります。
もう少し若い人だとC++かJavaから入っていますから、 いきなりクラスを設計しはじめます。
アルゴリズムにいたっては、 私なんてぐうたらだから最早STLなしには生きていけません。
そうなるとどういうことが起きるかというと、 前のパラダイムが理解できないんですね。
前のパラダイムというのは、 何のことはない、 現代のコンパイラが自動的にやってくれることをただ手でごりごりと書くだけなんですが、 最早それができない。

ここでプログラマを目指している、 あるいはプログラマになりたての方に主張したいのは、 古いソースのメンテナンスを頼まれたからといってがっかりしないこと。
中には本当にハズレのソースもありますが、 どんなソースでもどこかにお宝が眠っています。
特に一世代、 二世代前の言語で書かれたものは、 「 データ構造とアルゴリズム 」 の良い勉強になります。
何しろ、 今の言語では隠蔽されてしまって見えない部分がごりごり書いてあるのですから ( だって、 深さ優先探索やバイナリサーチを最近自作した方、 皆さんの中でどれだけいらっしゃいます? たいていコンテナに放り込んでやっつけるでしょ? )。
最新のパラダイムだけではなくて、 古典的なパラダイムや技術も習得して、 何でもありのスーパープログラマになってください。

お前もソースの中で眠ってろって? バグが一つ増えるよ。 いいの?

第74話 言語と思想 2000/04/23

勢い余って言語シリーズもう一話(笑)。

読者の皆様の中で、 語学に苦戦しておられる方ってどれくらいおられるのでしょうか。
その方々に朗報です。
このコラムを読めば、 Ada72流語学マスター法が身につきます!
(胡散臭い語学教材みたいだ)

プログラミング言語も自然言語も、 言語であることに変わりはない。
プログラミング言語が文脈自由文法の言語で、 自然言語が文脈依存文法の言語であるという他に違いはないのだ。
だから、 語学センスのない人はプログラミングセンスもない。
もし今あなたがプログラマになろうと思っていて、 かつ語学が苦手なら取るべき道はただ二つ。
語学センスを磨いてプログラマになるか、 適性がなかったと諦めるかだ。

プログラマになりたいと思った方は続きを読みましょう。
ではどうするか。
まず手始めに自然言語をマスターする。
だいたいこの業界で語学に苦戦していたらプロになんか絶対なれません。
ドキュメントが英語なんてザラです。 誰かが翻訳してくれるのを待ってようなんて甘い考えは通用しません。 拾い読みでいいから、 内容が大体理解できるようになっていなければ、 仕事に手をつけることすらできません。

話がそれました。 続けましょう。
自然言語、 プログラミング言語ともに、 マスターする際にどうしてもやらなければならないことがあります。
語学センスのない人は、 そのプロセスを飛ばそうとするのです。
だからいつまでたってもマスターできない。
どうしてもやらなければならないこととは何か。

言語設計者の思想を理解することだ。

自然言語、 プログラミング言語の区別なく、 言語の背景にはその言語を生み出した設計者の思想がある。
自然言語に設計者なんているのかと思われるかもしれないが、 自然言語の設計者はその言語を使っている人々である。
彼らの思想を理解することなくして、 言語をマスターすることはできない。
自然言語のサブセットであるプログラミング言語にも同じ原則が適応される。

例えば英語をマスターしたいとしよう。
英語の背景には西洋思想がある。
キリスト教、 禁欲主義、 個人主義、 などなど。
これらを部分的にでもいいから理解しなければ、 英語はマスターできない。
極端な話、 英語を読み書きする時には英米人になりきらなければならないのだ。

同じことがプログラミング言語にもあてはまる。
言語の背景となる思想、 構造化プログラミング、 オブジェクト指向といったパラダイムを理解することなしにプログラミング言語を理解することなど到底無理な相談だ。
先の自然言語同様、 言語設計者になりきらなければならないのだ。

もう一つおまけ。
第二外国語に苦戦している方へ。
この方法は同系の言語にしか適用できないのですがご参考までに。
例えばあなたが中学高校で英語を一通り勉強して、 大学で第二外国語にドイツ語やフランス語を選択したとします。
その時、 独和辞典や仏和辞典を買ってはいけません。
ではどうするか。
独英辞典や仏英辞典を買うのです。
なぜかというと、 文中で分からない単語が出てきたら、 その単語の下に英訳を書き込みます。 すると、 英訳ができます。
日本語訳を書き込むと、 語順が違ってしまうため、 面倒です。
例えば、 " Ich lerne Deutsch. " という文の単語の下に日本語訳を書き込むと、 「 私は習うドイツ語を 」 という訳ができるので、 それをもう一度 「 私はドイツ語を習う 」 という文に変換しなければいけません。
ところが英訳だと語順がそのままですから、 " I learn German. " という訳になります。
英語がマスターできていれば、 この文を理解することは容易ですから、 無理に日本語訳にする必要はありませんね。
この方式で印欧語は芋ヅル式にマスターできます。

偉そうなこと抜かして思想なんて理解してないくせにって? あいにくと口だけは達者なんだ。

第75話 くたばれサラリーマン 2000/05/01

もちろんあの本のパロディーです(笑)。

ここで原著に倣って、 「 あのねぇ、 あんたが一日かけてトロトロやってることなんか、 あたしが昼休みを使ってLinuxとPostgreSQLとApacheとCGIでちゃちなサーバーでも立てれば一瞬でできんだよ! ふざけんな! 」 とかやるのは簡単ですが、 それではつまらないので、 ちょっぴりスノビッシュにいきましょう。

タイトルは音数の都合上単に 「 サラリーマン 」 としましたが、 ここでくたばれといっているのはサラリーマン全てではありません。
ですからくたばって欲しいサラリーマンのことを 「 糞サラリーマン 」 と呼ぶことにしましょう。
糞サラリーマン⊂サラリーマン
とします。

まず、 糞サラリーマンの定義を決めておきましょう。
ここでは、 糞サラリーマンを 「 会社に寄生し、 物事をマクロに捉えられない月給取り 」 と定義します。
糞サラリーマンは、 会社には滅私奉公の覚悟で忠誠を誓っています。 が、 忠誠心以外に取り柄がありません。 自己啓発をしようとか、 外で通用する技術を身につけようなどとは毛頭考えていません。 たまたま上司に気に入られたから出世しているだけなのに(上司もバカですが)、 それを自分の実力だと勘違いしています。 ですから会社が倒産すれば路頭に迷うほかありません。
また、 物事をマクロに捉えられないため、 OA化(死語?)の進んだ今日に至っても書面捺印の紙ベースで事務処理をし、 既に時代遅れとなった技術をかたくなに死守し、 顧客が望んでもいない自己満足な事業を邁進させ、 遂にはリストラされるに至ります。

でもこれって原著でくたばれといわれている方々に少し似ていませんか(笑)。
糞サラリーマンの方々は自分に自身がないからか、 亭主関白である確率が非常に高い。 外で威張ってこれないから、 家の中で威張り散らしてストレスを発散しているただの内弁慶です。 そういう方々は自分が威張るために、 大抵伴侶に主婦になることを命じます。 妻の稼ぎの方が良くなって威張れなくなったり、 外で浮気されたりするのが怖いのです。
ここで主婦登場と相成ります。 亭主が亭主なら妻も妻。 亭主の精神的な脆さに気づかず、 「 あの人はあたしがいなきゃダメなのよ 」 と勘違いしています。 亭主の収入が絶たれれば一家は路頭に迷うことが分かっていません。 終身雇用も年功序列も保証されない今日となっては、 いざという時に備えて生活費だけでも稼げるように備えておくべきですが、 そんな気はさらさらありません。 しかも、 普通の人が仕事から帰ってきてから大慌てで片づけている雑務を本業とし、 一日かけてトロトロと片づけています。 それに、 本当に強くて優しい、 自分に自身がある男は妻の行動を不当に規制したりしないと思うんですがね。
ま、 夫婦ともどもくたばって下さい(爆)。

…と思ったがかわいそうなので糞サラリーマンと主婦を救う方法を考えましょう。
まず根本的な原因は何か。
糞サラリーマンの定義から分かるように、 両者とも何かに寄生していることが問題です。
我々は生物です。
生物であるからには、 自分の糧は自分で得るのが基本です。
が、 生命35年の神秘は、 寄生することによって生き永らえる種も生み出しました。
それはそれでいいのですが、 寄生種は、 宿主が死ねば自分も死ぬ運命にあります。
糞サラリーマンの宿主は会社、 主婦の宿主は亭主です。
生態系が許している限り彼らが滅びる理由はありません。 それを証拠にウィルスという単純な種は滅びるどころかますます繁栄しつつあります。
ただ、 現在両者とも宿主は危険な状態にあります。
「 滅びるべきものは滅びよ。 スーパー大企業に寄生する糞サラリーマンと、 ウルトラ大富豪に寄生する主婦だけが生き残るであろう 」 という神託が下ったのなら放っておきますが、 そうでないのなら両者を救う方法を考えつづけましょう。
ここで、 物事をマクロに捉えることが必要になってきます。
寄生種は突然変異を起こし、 「 宿主の命が危うくなったら自立して生き永らえる 」 という遺伝子を自分自身に組み込まなければいけません。
糞サラリーマンは意識改革し、 自己啓発を行い、 会社が社会に対して果たす役割は何か、 今自分に求められているものは何かを分析しなければなりません。 そうすれば会社が倒産しても別の会社で手腕を発揮することができますし、 ましてやリストラなんかされません。
主婦も同じです。 自分の遺伝子を残すために結婚し出産したのでしょうが、 その後一家が安心して生活するために自分が成すべき事は何かを考えなければなりません。 そうすれば万が一夫が失業しても何とか食いつないでいけるはずです。

こうして真の個人主義の登場と相成ります。

個人は会社から、 家庭から自立して行きます。
糞サラリーマンは変身し、 素晴らしいスキルやキャリアを身につけています。 会社に縛り付けられる理由はありません。 会社が気に食わなくなれば転職をしてさらにキャリアを積んで行きます。
主婦も同様。 自立できる収入がありますから、 糞亭主と心中する必要はありません。 用済みになれば離婚も可能です。
子供でさえ親から自立してしまいます。 親として尊敬できない親を親とする義務はないのです。
自分の遺伝子が次世代に継承されさえすればいいのです。

…となると行き着く先は 「 アメリカン・ビューティー 」 か?
よく日本はアメリカを10年遅れてなぞっているといいますが、 果たしていかなることに相成りましょうや。 物語の結末がハッピーエンドであることを祈ります。
…って糞サラリーマンと主婦を救う方法見つかってないじゃん!
これは人類の課題ですから、 みんなでゆっくり考えましょう。 人類が滅びる前に答えが出ればいいんでしょう。 きっと。

( 糞サラリーマン ∩ 糞プログラマ ) のお前が真っ先に滅びろって? ド・モルガン・ビーム!! (意味不明)

第76話 人生に乾杯 2000/05/08

家庭崩壊の話をしたら本当に家庭崩壊してしまった事件がたくさん起きてしまいました。
最近ちょっと脱線気味ですがどうせだから大脱線しておきましょう。 日比谷線じゃないですよ。

この手の事件に関して必ず指摘されることが 「 過保護 」 です。
確かに親が子供に過保護であったことが要因の一つであったことに疑いはないでしょう。
が、 それらの報道をしている記者たちと私の間には一つだけ、 違う点があります。
実は私も過保護に育てられた子供の一人です。
だから私も十分彼らの仲間入りをする要因はあったわけです。 逆に過保護以外に違いがあれば、 それが真の要因である可能性があるでしょう。

まず共通項の過保護について見てみましょう。
有名私立中学・高校に行かせるために小学生の頃から塾に通う。 当然駅まで送り迎えつき。
中学に上がってからも帰りが遅いとお迎えがあったこともあります。
高校、 特に3年生にもなると日曜ごとに公開模試、 さらに志望大学にターゲットを絞った模試を受ける生活が続きます。 長期休暇も講習に通います。
そして大学受験。 そりゃあそこまで投資すればすんなり通って当たり前でしょうよ。
典型的な 「 お受験 」 一家です。

頭脳面での教育には湯水のように金が注がれ、 手がかけられましたが、 情緒面、 社会面での教育は全くなされませんでした。
大学に受かってまともな会社で働いてくれさえすればいいのですから、 友達と仲良くしなさいとか、 行儀よくしなさいとか、 一度も言われたことがありません。
結果として非常に大きなものを失ってしまいました。
私には協調性が全くないのです。
理論系の学問に進んだ人が社会に出て突然直面する問題は 社会性のなさです。 実験系の学問に進むと研究室配属の段階で直面するのですが、 理論系は一人で研究ができてしまうだけに後で困るのです。
思いやりもありません。
社会へ出るまでに子供が味わう競争は、 言わば単独競争です。 スポーツに例えればマラソンなどに近い。 強いものが勝ち、 弱いものが負ける、 大変シンプルなレースです。 だから今までレースに負けていった人を 「 弱いから負けているくせに言い訳ばっかりしやがって 」 ぐらいにしか思っていませんでした。 それが違うと思いはじめたのは社会人になってチームで仕事をするようになってから、 つまり団体競技でプレーするようになってからだったのです。

ここまで述べてきた私の特性はかなり内向的で、 過保護に育てられてきた経緯からしても犯罪者になる要因を十分に持ち得ます。
しかも、 K氏をはじめ私の知人が良くご存知のとおり私はアーミー系の人です。
スイスアーミーナイフを所持し、 休日などには全身ミリタリー系で決めて出かけたりしています。
刃物マニアでもあり、 包丁はプロ並みの角度で研いであります ( 家庭用包丁というのは頻繁に研がなくてもいいように緩い角度で刃付けがしてあるのですが、 それを10度前後に研ぎ直します。 当然メチャクチャ切れます )。 お陰で母から時々包丁研ぎを命じられます(笑)。

これだけで相当ヤバイ人なのですが、 人を切ってみようと思ったことはないですね。
なぜかというと刃物は持ち主の心を映す道具だからです。
アーミー系の趣味があるくらいですから他の武器も一通り好きですが、 なぜ刃物が好きかというとその武器を持つ人の人格が分かるからなんですね。
スイッチを押すだけで誰でも同じ結果が出るなんてつまらないじゃないですか。
で、 話を戻して何故人を切ろうと思わないかというと自分にその器がないからですね。
せいぜいトマトやキュウリを相手に格闘するのが自分の器だと思うからです。
が、 それはとても 「 おいしい 」 闘いです。
勝利の味は ( たとえ料理として失敗でも ) 格別です。 もっと器の大きな人が包丁を振るえばもっとおいしいものができるでしょう。
刃物は人を殺める武器にも人を楽しませる包丁にもなります。 私はおいしい方がいいですね。

ちなみに人を殺してみたいという欲望は誰にでもあるものですが、 私も例外ではありません。
でもどうせ人殺しをするんだったら、 一人の人を殺して犯罪者になるより、 100万人殺して英雄になりたいですね。
そして凱旋門の前で暗殺されてみたいですね。
でもやらないのは戦争をするほど頭が良くないし、 カリスマ性もないし、 お金もないし、 今時戦争しようと思うと面倒だし、 そこまで大変なことをするくらいなら善良な一市民でいる方が楽しいし。

もしもとんでもない石頭の人が読んでいるといけないので書いておきますが、 上に書いたことは冗談ですよ。 間違っても 「 テロ煽動の気配あり 」 などと通報しないように。
私が犯罪を計画するなら法律の勉強から始めますね。 いかにして法の目をかいくぐってスリリングな犯罪を楽しめるかを徹底的に研究してから挑みます。 通報は法律(刑法)を勉強している気配が見られてからにして下さい。
バカだから勉強するだけムダだと思いますけど(爆)。

で、 最初に戻って彼らと私の違いはなんだろう。
それは 「 自分の人生を大切にしているか 」 じゃなかろうか。
内向的な性格から、 人生を悲観していた時期もありました。
でも、 つまらないことでおじゃんにしてしまえるほどつまらないものだとは思えませんでした。
ちなみにくだらないことで警察にしょっぴかれてるおじさんたち! どうせしょっぴかれるなら巨悪を働いてしょっぴかれなさい。 ロッキード事件を超えたら許してやる。

ふと気づくと大草原の只中に立っている。 私の足元には、 ここまで歩いてきた私の足跡が地平線まで伸びている。
ふりかえる。
どこまでも広い大草原。
そして私はまた歩きはじめる。
歩いているうちにだんだん歩くことが楽しくなってきた。
どこへ着くのか、 どこに向かって歩いているのかも分からないけれど、 前に進めばもっと楽しいことが待っているに違いない。

こんなコラムを書いていると貰いそうで今まで貰わなかったメールを読者の方から頂きました。
「 プログラマになりたいのだがどうしたらよいか 」 というものです。
その方へのお返事には細かいことを書いたのですが、 一つ大きなことを書き忘れました。
「 なりたい 」 と本気で思っていれば必ずなれる。
なれなければそれはなりたくなかったのだ。
人生を大切にしているのなら、 本気で願って下さい。

お前は人生大切にしなくていいって? つかんだものは転んでも離さないたちなんだ。

第77話 菖蒲浴衣 2000/05/15

あんまり天気がいいものだから、 土曜日母を鶴見緑地に連れて行きました。 売店で菖蒲を売っていたので思わず買ってしまいました。
昔は菖蒲というと庭に池でもないと育てられなかった草ですが、 最近の園芸品種は植木鉢で育てられるのだそうです。
しかし育てるのが難しそうな草をいきなり買って大丈夫かいな。

菖蒲といえば長唄 「 菖蒲浴衣 」 ですね。 落研で三味線を弾いていた頃、 一番好きだった曲です。
この曲、 浴衣のコマーシャルソングだったという説があります。 江戸時代には商品を売り出す際に歌舞伎役者とタイアップすることがあり、 コマーシャルソングとして長唄などが作曲され、 興行が行われたのだそうです。
もうお気づきだと思いますが、 この広告戦略は現代でも全く変わっていません。 アイドルをイメージキャラクタとして採用し、 コマーシャルソングを作ってコマーシャルを放映するのと、 全く変わりません。
賢明なる読者諸氏ならさらに先までお見通しかと思いますが、 両者の間には大きな違いがあります。
広告を流す媒体です。
長唄は歌舞伎の芝居が媒体です。 一方後者はテレビが媒体です。
両者の広告効果の差は一目瞭然ですが、 我々は普段テレビに関心を寄せたりしません。 先も読んでいて長唄とテレビの違いに気づかなかった方もおられるのではないでしょうか。
それくらい、 テレビは我々の生活に溶け込んだ電化製品であり、 技術であり、 メディアなのです。

翻って我々のITはどうか。 ハードウェアがようやくまともになってきて、 その上で動くソフトウェアができてきて、 情報の流れる道ができ、 ようやくテレビを目指す準備ができたといったところだ。
もちろんテレビとコンピュータは全く別の電気製品である。 だから単純にテレビを師と仰ぐわけにはいかないが、 技術の理想が 「 その技術がそこにあることすら意識されないこと 」 であるならば、 我々はまだまだテレビから学ばなければならない。 そして、 ITがテレビとは別の技術である以上、 やがてはテレビを超えなければならない。

私はCADベンダーに勤務する身だが、 私の見るところユーザが紙に製図しなくて良くなったことに感動を覚えた最初の段階は既に終わっている。
ユーザは製造業を取り巻く現状から、 更にドラスティックな変革を求めているようだ。
が、 私にはユーザが製造の現場で何を求めているのかということは今一つ見えない。 もちろん私に製造業の知識が殆どないからだが。

だがこれは何も製造業に限ったことではない。 金融でも、 流通でも起きている現象だ。 変革のスピードが速くなり、 ユーザの要求レベルがどんどん高くなっている。
そこをいち早く汲み取ってユーザの求めるものを形にし、 またユーザすら期待していなかったものを提示して新たな領域を切り開いてゆく時、 我々の手腕が問われる。
そして、 以前に切り開いた領域は当然そこにあるものとして、 「 そこにあることすら意識されない技術 」 になってゆく。
製造業でいうならCADパッケージであろう。 今はそこから先をどうつなげるかが問われているのだ。

これまで私は冷暖房のきいた部屋でプログラミングだけをしてきた。
が、 遂に私がメインでコーディングしたプロダクトが世に出る。
それが現場でどう使われるのか、 ユーザは更に我々に何を求めてくるのか、 何をすれば喜んでもらえるのか。
一技術者として素直に知りたい。 製造業の現場を見てみたい。 実際にユーザから話を伺いたい…。
プロダクトとともに、 私も外へ羽ばたいてゆくようだ。

技術の存在が意識されなくなる時は、 ITにはいつ訪れるのだろう。
できうることなら、 少なくとも製造業に関してだけでも、 その場に居合わせたいものだ。
ユーザの喜ぶ顔を思い描きつつ、 プログラミングして。

お前はプロダクトとともにクビになっちまえって? じきK氏から言い渡されるんじゃ…!?

第78話 手の抜きかげん 2000/05/21

残業代にあかして憧れのオリエントスターを買いました。 なんて書くと早速K氏とかから 「 マニアックな 」 などと突っ込まれそう。
昔から機械式の自動巻き時計が欲しかったのですが、 高くて手が出なかったんですよね。
で、 オリエントスター復刻のニュースを聞いた時は泣いて喜んだのですが、 今ごろになってやっと買いました。
キャリバーの裏側がガラスになっていて、 ムーブメントが見えるあたりが憎いです。

これまでプロになるために必要な資質などを何度か述べてきたのですが、 そういえば一つ書き残していたことがあります。
それは 「 手の抜きかた 」 です。

我々は商売でコードを書いています。
商売である以上、 書くからには有限時間内に書き上げなければいけません。
プロであるなら、 限られた時間内で自分はどこまで書けるのかを知っておかねばなりません。
時間内に書けないものは逆立ちしたって書けません。
手の抜きかげんを知ることはすなわち己の限界を知ることでもあるのです。

依頼を受けたらまず依頼主が最も欲している機能は何かを知らなければなりません。
そして、 さほど欲しいと思っていないにもかかわらず開発項目に入っている項目が含まれていれば、 プライオリティを下げてもらうなり、 次期開発項目としてもらうなりすることも重要なことです。
これは手抜きでも逃げでもなく、 あれもこれもと欲を出して肝心の機能がまともに動かないのでは結局は依頼主のためにならないからです。

もちろん全ての仕事を完璧にこなすことは理想であり、 目標である。
が、 我々は人間であって神ではない。
己の能力に限界がある以上己の限界は知らねばならないが、 さりとて神に近づく努力を怠ってはならない。

一見矛盾するようだが、 向上するためにはまず自己の限界を知ることが不可欠なのだ。
向上心のない人はひとまず置いておくことにして、 向上したいにもかかわらず一向に向上しない人というのは自分の能力がどの程度なのかを知らない。
例えば自分のある能力を示す値がVnだったとして、 それを知っていれば次に能力向上を目指す時にはVn+1にフォーカスを当てればよい。
分かっていないと見当はずれなところにフォーカスを当ててしまうので努力は徒労に終わってしまう。

自分の能力の限界を視野に入れた上で、 業務に望む際にはどこを手抜きするか考えなければならない。
どうでもいいところに時間と労力をつぎ込めるほど、 依頼主は暇ではないのだ。

ということで今日の一言。
手を抜くのも仕事のうち
でも、 バグのあるまま出荷してもいいとか、 未完成のままカットオーバーしてもいいとかいう意味ではないからね!!

それをやってんのはお前だろって? ばれまくり。

第79話 お客様は神様か? 2000/05/28

前から 「 あやめ 」 と 「 しょうぶ 」 と 「 かきつばた 」 はどう違うのだろうと疑問に思っていたのだが、 最初の2つの違いが分かった。
なぜ分かったかというと先日買った 「 あやめ 」 の元気がなくて、 本で調べたからだった。
「 あやめ 」 は水はけの良い土で育つ多年草、 「 しょうぶ 」 は湿潤な土で育つ多年草である。
従って第77話で 「 庭に池でもないと… 」 と書いたのは私の間違いである。
先日買い求めた 「 あやめ 」 は泥土がついた状態で売られていたので、 その土のまま鉢に植えたのだが、 上記の定義によればそれは 「 あやめ 」 にとっては良い環境ではない。
というわけで2度目の植え替えをした。 今度は水はけの良い普通の園芸用土である。
根がちゃんと来年まで生きていてくれれば、 花が見られるはずである。
「 かきつばた 」 といえば光琳ですね。 川崎に住んでいた頃、 「 燕子花図屏風 」 を見に根津美術館まで行ったのですが、 修復中のため別のものが飾られていました。 残念! 東京への出張のついでに1日休みでも取って見に行こう。

なんといつの間にか10000ヒットを超えていましたね。
といってもこれは先週FTPに失敗したのが原因のようです。 どうも毎週訪問している読者の殆どが先週は2回訪問したため、 2倍のアクセスがあったという…。
申し訳なし。

先週は異業種の方からも訪問がありました。
なんと、 CADユーザの方々からです。
私は、 一部の方には面が割れています。
うかつなことを書けなくなってしまいました(笑)。
といってもここは私の個人サイトなので、 身内以外で私の素性を知る読者の方もご理解下さるでしょう。 というか、 ご理解下さい(笑)。

CADのシステムというのはベンダーにとって厄介な点が一つある。
それは、 ユーザがITに非常に精通していることが多いということだ。
通常のシステムの場合、 金の話をするような偉い人は自分でパソコンに触れることもなかったりする。 実際に使うオペレータはその業務に就くまでワープロも使ったことがなかったりする。 せいぜい情報システム部のSEとかがよく知っている程度。
が、 CADとなると話はややこしい。 特に製造系CADは大変だ。
なにせ、 ユーザ自身が機械を作るのが好きで製造業に従事しているのだから、 コンピュータは非常に興味をそそられる機械なわけで、 当然コンピュータ歴の長い方が多い。
若い人にはにわかに信じがたい話かもしれないが、 昔のパソコン (当時はマイコンと呼ばれていた) にはまともなOSやパッケージがなく、 アセンブラやBASICがついているだけ、 なにかしたければ自分でソフトを書くか、 どこかから拾ってこなければならなかった。
だからこの時代のパソコンユーザというのはユーザであると同時にプログラマでもあった。
もっと前の人になるとアセンブラすら高価なので16進で機械語を直接入力していたり、 パンチカードを並べたりした経験があったりする。
現在ベテランの機械設計者のコンピュータ歴は大体こんな感じだ。

こんな人たちにユーザになられるのだから、 プログラマとしてはたまったものではない(笑)。
なにせこちらはアセンブラもろくに知らない。
初めて書いたプログラムがCの"Hello, World!"なのだ。
しかも私はまともに書き始めたプラットフォームがUNIXでしかも最初からXなので、 DOSの64Kの壁とか、 割り込み処理とかもすっ飛ばしてしまっている。
Windowsプログラミングは前の会社に入ってから、 しかもMFCだ。
こうして見るとことごとく飛び級人生だなぁ。

話を元に戻すと、 コンピュータ歴に関してユーザの方が遥かに長く、 下手をするとプログラマよりコンピュータに詳しいというのは大変辛い。
何かクレームがあって、 「 いやーそんなん出来まへんわ 」 などと返答しようものなら、 「 ウソだ! そんなことこうしてああやればできるじゃないか。 おたくのプログラマがバカなんじゃないのか 」 なんてことになりかねない。
くそー事務系は楽だったよなー。 できないことはないけど面倒なことを頼まれたら、 適当に専門用語を並べておけば案外あっさり引き下がってくれたもんなー。

しかしものは考えようで、 厳しいお客様に鍛えられれば自分の技能も上がる。
私の書いたものが外に出れば様々な要望が出てくるだろう。 時には叱られるだろう。 そして私自身も成長するはずである。
我々がサービス業を営む限り、 お客様はやはり神様だ。
それもとびきり厳しいお客様(笑)。

あともう少しで、 私は神様から最初のお叱りを受けるはずである。

お前は閻魔様に叱られろって? 舌がなくてもプログラムは書けるんだなぁ(笑)。

Copyright (C) Ada72 All Rights Reserved.