Diary?::2006-03-27

00:44

俺が Python を知ったのは半分ぐらいは全くの偶然で、それはあまりにもありふれた偶然過ぎて、何がきっかけだったのか思い出せない。別に派手な宣伝がされていたわけではないし、きっと誰かの Web 日記から知ったのだろう。というか、商業的な匂いがきつかったら俺は多分手を出していない。

俺は間違いなくマーケティングとは全く掛け離れた世界が好きだ。俺が好んで聴いている音楽も、読んでいる漫画も、大々的にマーケティング戦略の展開されていない (あるいはそういった戦略が展開される前に知った) ものが多い。そういったカラーが薄ければ薄い程、俺の気に入る可能性が強まる傾向にある。

これは同時に、俺はあまり宣伝的なことをこのサイトで書かない方がいいということになる。そんなことしたら、自分で自分の事が嫌いになるのは目に見えている。今この時点でさえ自分にうんざりしているのに、これ以上は。

なんでこんなことを書いたかっつーと、俺が Python を勉強し始めて割りとすぐ (一年弱前) に書いたスクリプトを発見したからなのだが。この一年で俺はだいぶましなプログラムが書けるようになったと思うし、 Python を始めてから他の言語のソースコードもだいぶまともになった気がする。

ちなみに Python を知ることになったきっかけの半分は前にも書いた通り、師匠が Ruby 使いだったから。同じ言語を使うのはなんか癪だったから (嫌な弟子だ) 、いろいろ別の選択肢を探して結局 Python に落ち着いたのだった。でもそこまでの過程は全然覚えていない (まあ、 Ruby のカウンターウェイトという時点で半ば運命のようなものだったのだろうけど) 。

まあ、覚えていなくても全然構わないことだけど。

12:32

Smalltalker から怒られそうな事を書くけど、俺はメッセージ送信という比喩表現が心の底から大嫌い。むしろ有害だとすら思っている。そもそもメッセージ送信って何? オブジェクトにメッセージを送信するって、具体的にコード上でどうなるの? どういうメカニズムなの? 実装レベルではどうなってるの? 単なる構文糖衣とかじゃないの? メッセージ送信で全てを表現する io 、あれでコードをちょこちょこ書いてたらこう思ったね。「これ変形させた S 式じゃない?」って。

Python 的にオブジェクト指向を説明するのは比較的簡単。辞書 (ハッシュマップとか連想配列と呼ばれる物) と関数と名前空間、これだけで十分。というのも Python では、

ぶっちゃけ、単なる関数と変数を階層化して整理しているだけといえる。

Python において重要なのはオブジェクト指向では無く階層化された名前空間であり、たまたまそれを使ったらオブジェクト指向が実装できたようなものだ (実際、 Python の設計当初はオブジェクト指向言語ではなかったという。便利だから後付けしたってだけ) 。

俺が理解する限り、オブジェクト指向というのは「そいつに何が出来るか」「何をさせるべきか」を明示するために有用な技術である。でもそれはオブジェクト指向じゃなければいけないというわけではなく、どちらかというとモジュールやパッケージといった機構で実現するべきものだろう (だからモジュールをインポートしたら現在の名前空間にそこに属する関数やクラスをぶちまける言語は大嫌い) 。

ちなみに Python においてはモジュール (パッケージと全く区別されない) もまたオブジェクトで、クラス、モジュール、インスタンスは名前空間の階層を作るということと、その名前空間内のものにアクセスする構文において全く区別が無い。ここからも俺は Python で重要なのは名前空間による整理だと思うね。

こういう説明の方が具体的なコードに結び付きやすいし、抽象化された概念よりは具体例の方が理解しやすい場面が多いと思うんだけどね。でも大学の講師なんかには Java にすらメッセージ送信を持ち込もうって人が多くて困る。

19:13

ギターを始めて半月経ってるかどうかもアヤシイが、 Candlemass とか Black Sabbath に挑戦中 (当然全然弾けませんよ。主にソロが無理。何あれ) 。プログラミングもそうだけど、とりあえず難しいことから始めるのは悪いやり方では無い。むしろ俺はそうするしか思い付かない。

そういや Paradise Lost に挑戦しようと思ったら、チューニングを変えなくちゃいけなくてやめたんだったな。そういう意味での煩雑さは、とりあえず最初の頃には必要ないとも思う。

20:32

「たけしの TV タックル」の永田町時代劇は相変わらず面白いなあ。ていうか、あれに出演する政治家は悪ノリしすぎだ。俺はそういうの嫌いじゃないけど。

21:52

今週の「毎日かあさん」は大変な内容だった。ってか、ちゃんと鴨ちゃんの面倒見てたのか西原先生。

23:49

なんかサーバマシンから変な音がするんだが。耳障りな高周波の音。頼む、初任給が入るまでは壊れるんじゃない。

Subversion で管理している奴は全部サーバマシンにリポジトリがあるので、ここでサーバマシンがいかれるとこれまでの履歴が全部おじゃん。勘弁だ。

Written by Kuwata Chikara
Creative Commons