月別アーカイブ: 2008年5月

ianime.jsを利用した写真ビューア

少し前にオープンソースとして公開したアニメーションライブラリianime.jsを使って、ちょっとしたアニメーション・エフェクトを持つホームページを作ろうとしているところだが、すべてのブラウザーできちんと表示しようとすると色々と細かな問題点に行きあたる。

Life is beautiful: ianime.js でコジャレたホームページ作りにチャレンジ

そう言えば以前、JavaScriptの練習用にと思ってianime.jsを使用した写真ビューアを作ってみたのを思い出した。拙い作品だが、リンクしておく。

ianime.jsを利用した写真ビューア

もともとは「写真を次々と見るのにいちいちクリックするのは面倒くさい」的な発想から考えたものだったのだが、ちょっとこれが使い易いとは思えない(笑)。まあそれなりに楽しくはあったりするのだが。

「どの言語を学ぶか」ではなくて「どの言語から何を学べるか」

僕はプログラミング言語論争に首を突っ込む気は一切ない。好きな言語も嫌いな言語もあるし、各言語の長所や短所もある程度分かっているつもりであるが、結局どの言語を使うかなんていうのは、自分が勤めている企業や、自分の回りのエンジニアや、マーケットの状況によって決定されてしまう事がほとんどなので、決定されたものに自分をチューニングしていくしかないであろうと思っている。
ただし「どの言語を使おう」とか「どの言語を学ぼう」といった視点ではなく「どの言語から何を学べるであろうか」という視点から考えると、プログラマの成長にとってプログラミング言語の選択というのは非常に大切であろうと思っている。以前勤めていた企業では、製品の多くの部分がCOBOLにて実装されていたので、相当量のCOBOLの実装やデバッグを僕も行っていた。COBOLと聞くと「COBOLプログラマなんて駄目だよ」とか「時代遅れだよ」というような批判をする人が社内にも多くいたが、「プログラマとして、どういった観点でCOBOLプログラマだと駄目なのか」という部分にまで突っ込んで批判している人は少なかった。こういった思慮に欠ける批判から得るものはあまりないので、これを前述した「どの言語から何を学べるか」という観点から考えてみたい。
結論から言うと、結局COBOLでしかプログラムを組んだことがないのであれば、近年プログラムで解くべき問題を解決をする上で必要な知識や概念が身に付きにくいのである。言い換えると、COBOLという先生が教えてくれない解決方法が必要とされる問題が世の中にたくさんある、ということになる。一教えれば百学ぶ天才は例外として、COBOLしか扱っていないのに例えばオブジェクト指向の考え方や、マルチスレッドプログラミングに関連する技術を学べるのかと問われると、かなり難しいと答えざるをえない*1。まつもとゆきひろさんが以前講演の中で「言語は思考の為の道具だ」という意見と述べていたが、それと似た様な主張であると思って欲しい。つまりCOBOL先生にしか教わったことのない生徒であれば、ある問題に取り組むときにCOBOL先生が教えてくれた方法以外で解決方法を思考することが出来ないのである。それは問題だと思う。
前述したように「COBOLだから駄目だ」とか「時代遅れだ」とかいう浅い批判は論外であるが、もし僕が採用担当だとして、例えばJavaプログラマとCOBOLプログラマのどちらかを書類選考の段階で選択する必要があるとすれば、Javaプログラマを選ぶと思う。しかしそれはJavaだから選ぶとかそういう話ではなく、Javaプログラマの方が学ぶべき事を学べている確率が高いと思っているからそういう選択をするのである。当然面接の段階ではそれを明らかにする為の質問を投げかける。つまり「この生徒は先生からきちんと学んだだろうか」という事を確認する。そこで学べていないことが明らかになれば、何プログラマだろうが採用はしない*2。候補者を全員面接する余裕があるのであれば、基本的には候補者の特定の言語経験に左右されず、プログラマとして学ぶべき事柄をきちんと学んでいるかどうかをそれぞれに確認するようにしたいと思う。
ここに書いたことは大事な事であると思っているのだが、筆力の無さからあまり言いたい事が伝えられない。そんなもどかしさを久しぶりに感じた。 

*1:誤解のないように言っておくと、近年はこれらの概念をCOBOLでも積極的に取り入れている。ただし一般的であるとは思えない。

*2:当然社の状況などで、頭数を揃えなければならないという事も多いとは思いますが。

高野登「リッツ・カールトンが大切にする サービスを超える瞬間」

リッツ・カールトンが大切にする サービスを超える瞬間

リッツ・カールトンが大切にする サービスを超える瞬間

先日同ホテルに滞在してみたことをきっかけに購入。リッツ・カールトンが大事にする精神を様々なサービスのエピソードと共に説明している。この手の本(と一括りにしてしまっては著者に悪いかもしれないが)が大抵そうであるように、実践的なノウハウ本ではなく、何と言うか抽象化された「心、精神、信条」なんかを語る本であるため、どんな仕事に就いている人間でも参考になる反面、書かれていることは極めて当たり前の事の固まりである。同ホテルが何らかのノウハウによって成り立っていないのと同様、「どのような精神で仕事に望めばいいか」というところにもコンピテンシーがある訳ではなく、このような理想を追求する事が出来る従業員を雇い、頑張ってもらい、成長させるといったサイクルを回す事ができるシステムを作った、というところに競争力があるのであろう。様々なエピソードには思わず拍手を送りたくなるようなものも多いが、これらの例の多くにはそれなりにコストがかかっている筈であり、それらのコストは普通に宿泊したゲストの支払った宿泊代から得た利益で賄われているのかと思うと、ちょっと「ずるい」とか思う人が出てしまうのではないかというケチ臭いことを考えてしまった。同じ事が一日二千ドルの決裁権の話にも言えると思うのだが、こういった「あるお客様の為にした特別なサービス」なんかを大々的に宣伝してしまうと、「私はそんな風にサービスを受けなかった」というクレームが発生するのではないかとハラハラしてしまうのだが大丈夫なのだろうか。要は「私にも同じだけお金をかけて下さい」という主張をするゲストが出てきてしまうのではないかと。同ホテルのリピーターは明らかに富裕層だろうから、そういうクレームは発生しないのかもしれない。逆にこの辺りに興味が出ちゃったりするのだけど、まあこれはさすがに内部の限られた人間しか手に入らない情報だろうな。

齋藤孝、梅田望夫「私塾のすすめ」

私塾のすすめ ─ここから創造が生まれる (ちくま新書)

私塾のすすめ ─ここから創造が生まれる (ちくま新書)

なんと言うか、この人達はつくづく大袈裟な人間なんだと思う。何が大袈裟なのかと言うと、物事に対する感じ方が大袈裟なのだ。読んだ本に書いてあった事や誰かが言った事、誰かの働き方や生き方や成した事にこれだけ感銘や衝撃を受けたり、怒りを感じたり出来るのはおそらく彼らが普通の人よりも物事に対する感じ方が大袈裟だからに違いない。そして僕はそういう人間が非常に好きである。例えば学生時代に何かをこよなく愛する人間が何人か回りにいたが、概して対象に対する感じ方が普通の人よりも大袈裟であった。思うにこの大袈裟に感じる力というのは、日々自分を奮い立たせる為のエネルギーとして非常に有効であるに違いない。齋藤さんの著書のタイトルっぽく「大袈裟力」とでも名付けておこうか。ちなみに事実をねじ曲げて大袈裟に回りに伝えるというのは「誇張」であってこの話とはまったく違う。あくまで大袈裟に「感じる」力が大事という話。
さて内容についてである。通勤時間も使って二度三度と全体に目を通してみたが、なんとなく梅田夫妻の生活の有り様が一番印象に残っている。自分が毎日ひたすら家に居るという生活は今のところ想像もできないくらいであるが、何となくこのスタイルになっても僕ら夫婦は上手い事やっていけるのではないかという感覚を持つことができた。また、ロールモデルというか憧れの対象とも言うべき人間を三人程度挙げてみて、その三人から「自分が何を求めているのか」という欲求を探し当てるというような話は試してみたいと思った。あと梅田さんの就職活動うんぬんの話はその時期の自分を思い出して思わず懐かしくなってしまったが、僕もどうにも入社式とかそういう輪に自分が属している姿が想像出来ずにもがいていた。梅田さんと違い、その当時の僕は社会からの逃避を選んでしまった訳だけれど、今でも続いているそういったものへの違和感というものの中に、上述した「自分が何を求めているのか」という問いへの答があるのかもしれない。それにしても、研修を受けることまで駄目とは極端ですね。
あとがきにあった彼らの戦いについては理解しているつもりではあるが、これを読んで若い世代が呼応してしまうのはちと怖い気がする。つまり、若者が日本に存在する閉塞感を言い訳にしだしたら嫌だな、と。自分がやれない理由をそこに当て嵌めてはいけないのだ。ただこういう事を齋藤さんや梅田さんなど上の世代が口にすると、とたんに閉塞感を生み出す側に加担してしまうことになるので中々難しい。多分、凄い我慢している部分があると思う。だから本書のような本に呼応して、若い世代から「社会がどうとか色々あるだろうけど、俺たちはそれを言い訳にしないで動こうぜ!」とかそういった声が出てくると良いのではないかと思う。少なくとも僕はそういう声を発したい。

シームレスな連携はなかなか達成されない

PCやゲーム機やTV等のホームエレクトロニクスと、携帯電話や携帯音楽プレーヤー等のモバイルデバイス、そして「あちら側」にあるネットサービスの三者間のシームレスな連携という意味では、まだまだ業界全体としてやらなければならないことが多くあるように思う。私の知っている限りでは、一般ユーザーから見ても「これはシームレス」と言えるものはまだiTunes StoreとiTunesとiPodの連携くらいしかない。携帯電話でさくっとPC上やflickrに蓄えた写真を検索して友達に見せることもまだ出来ないし、TVのCMで聴いてたまたま気に入った曲を即時モバイルデバイスに手早く購入することもできない。こういった作業というのは、実は今の段階でもやろうと思えば出来てしまうのだが、まだまだ一般の人から見れば技術者やこういったテクノロジーに興味の強い一部の人間だけのもので手が届かない、というのが正直なところだろう。そしてテクノロジーというものは、テクノロジーに強い興味の無い人間にまで届いてこそ輝くものである。
最近はこの三者に加えて、公共の場のエレクトロニクスとの連携も進んで欲しいと思ってもいる。例えば映画のチケットを購入する際にその映画に関する情報が自動的に携帯機器に登録されて、後でブログで紹介するときに使えるとか、そのブログを読んだ側の人間が、モバイルでその映画のチケットを購入し、近くの映画館に入るときはチケットレスで入れるとか。
こうした連携が中々進まない理由は技術的なものもあるだろうが、複数の企業、またひとつの企業内でも複数の部門が協力して進めていかなければならないというある意味政治的な理由も大きいだろう。AppleがMac、AppleTV、iPod、iPhone、iTunes等のラインアップを引っさげてこの分野をリードはしているものの、一社ではやはり限界がある。当然MicrosoftやSONYもこの分野での主要なプレーヤーになり得るだろうし、なりたいと強く思っていることだろう。競争原理は効率的な経済には不可欠だと思うけれど、覇権を握ろうとするあまりに独自の規格に走ったり、他者のデバイスに制限をかけるといった障害があまり発生しなければ、と願う。
いずれにせよ、まだまだハードウェア、ソフトウェア共に成さなければならないことはたくさんあるという訳だ。嬉しいことではないか。エンジニアにとっては。

レッテルを貼るという行為は思考停止方法のひとつ

レッテルを貼るというのは、簡単に思考停止する方法のひとつでもある。「あの人は○○だから」とか「あそこの会社は△△だから」なんていう発言が代表例かと思う。そういう発言をしてしまうこともあるし、聞く事も多くあるが、「なんで○○だとそうなるの?」、「なんで△△だとその結論になるの?」と問いかけてみると、何かしらの論理的な考察が裏にある発言だったのか、それとも単にレッテルを貼付けて思考停止に陥っていたのかが分かる。気をつけていないと、大抵後者だったりする。
ちなみにこのレッテル貼りは有効活用もできる。まずよくあるのが、敵対する人や組織にレッテルを貼付けてしまうことである。上手くすると、その人や組織の回りにいる人間を思考停止に陥らせることができ、何かあったときに「やっぱりあいつらは□□だから駄目なんだよ」というような非論理的なイメージによるダメージを喰らわせることができる。もうひとつの有効活用方法は、特に結論を出す必要もないけれど話を終わらせなければならなくなったときに、「まああそこの会社は××だからね」と適当なレッテルを貼って話を終わらせるという使用方法。まあ意識せずとも、皆日常的にしていることだと思う。
いずれにせよ、思考停止には気をつけたい。