OSCON4日目。今日は朝から
と一つの部屋を専有して一日Rubyトラックがあった。 ながらくOSCONとは縁がなかったので(O'Reilly的には売り上げに貢献してないし)、 今年こんなに扱ってもらえるのは嬉しい限りである。
私の話はすでにスライドを公開した通り(更新しています)。 Rubyトラックはそんなに大きな部屋ではなかったのですが、満員になって立ち見まで出ていた。 今年は原稿を用意したので、観衆の目を見て話す時間は短くはなったが(プレゼンとしては良くない)、 そのぶん以前の英語のプレゼンよりはまともな英語に近いものになったと思う。
その他の話も、RubyによるIDEであるFreeRIDEとそのベースになっているFreeBASEというソフトウェアアーキテクチャの話とか、Rubyのクラスの階層構造を特異クラスを含めて解説するとか、興味深いプログラムがたくさんであった。 割と充実していたのではないだろうか。実際には私は出席できなかったものも多いのだけど。
残念だったのは時間の関係でWard Cunninghamから誘われたドライブに行けなかったこと。 ポートランド近辺はきれいなところが多いそうなので、ぜひ見たかったなあ。 また来ることがあるかしら。
オープンソースコンベンションでは、あちこちでRubyの名前を耳にする。 なんだか有名人の父になったような気分だ。
明日にはもう帰ります。なんだか慌ただしいことです。
休日の午前をどこで過ごすか。子供が大きくなってくると、年齢のばらつきもあるし、それぞれにやりたいことも違うし、一緒に行動することが難しくなってくる。うちはしぶしぶでもついて来るのでまだマシだと思うけど。
しかし、今日の図書館行きは全員が賛成した。まあ、みんな本は好きだし(ジャンルはばらばらだけど)いろんな本があるからねえ。手近で一番大きい図書館ということで、松江市立図書館へ。県立図書館の方が大きいのかな、行ったことないけど。
子供向けのプログラミングの本とか、普段見かけないような本も一杯眺めたし、 知的所有権の本なんかも興味を引かれたけど、 借りてきたのは結局『400204162X』(全5巻)であった。 4001155729はまだ入荷してないみたい。
結局、全員でなんと17冊も借りたのだった。そんなに読めるのか。
朝起き出して移動。夕べ遅かったので眠い。 教会の公式ページから札幌にある教会を探し出し、 その中で一番接続の良さそうな白石区にある白石ワードへ。
しかし、地図で見ると近そうだった白石ワードの教会堂までの距離が意外と遠い。 後で聞いたらもっと便利なところがあったようだ。
北海道の教会に集うのはまるっきり初めての経験だったのだが(前回は日曜はなかった)、 まあ、全国どこでも教会ってのは大差ない。 まあ、アメリカでも大差ないんだから当然といえば当然なのだが。
札幌の教会は神権会・扶助協会からなのね。 道に迷ったせいもあって少々遅刻してしまったのだが、 温かく迎えてもらった。
白石ワードは40名ほど。以前は90名くらいの出席があったそうだが、 札幌でもドーナツ化が進んでいるそうで、 転出が多いのだそうだ。事実、今日も3人が転出するとのことだった。 ま、結婚やら留学やらおめでたい理由ではあるのだけれど。
監督から「まつもと兄弟も引っ越してきませんか」と誘われた。 うーん、北海道は食べ物はおいしいけど、冬がなあ。 北海道人は口を揃えて「家の中は寒くない」と言うけれど、 ずっと家の中にいるわけではないからなあ。
聖餐会終了後、なぜかデザートが。杏仁豆腐おいしかった。 こんなに待遇がいいなんて。単なる偶然だけど。
現在、宣教師をしている双子の知人の片方は北海道で働いている。 白石ワードの宣教師に尋ねてみたところ、 隣の厚別ワードで働いていて、同じアパートなのだそうだ。 よろしくと伝えておく。
その後、新千歳空港から出雲空港へ。 めちゃめちゃ疲れた。
まだ7月だというのに9月号とは。
今月は「英語学習」について。 ハッカーはなぜ英語を学ぶべきか、 どう学ぶべきか、について。
語学の学習については、究極の手段があって、 それは「その言語にひたって生活すること」である。
だが、なかなかそうは行かないんだよなあ。
PythonとRubyの違いについて。
Both Python and Ruby are high level dynamic languages and Python especially does have a nice clean syntax. However, in my experiences using them they began to diverge and I realised over some weeks that Ruby isn’t a programming language in the strictest sense. Ruby is closer to a Human Language and its then that I noticed I was now looking at Python in much the same way I looked at Java after I started using Python. At the time Java began to look uncomfortable, mechanistic, cumbersome, system orientated and far removed from the outside world. There was a large gulf between human and machine. This gulf closed with Python and with Ruby it closed further.
「Pythonはプログラミング言語だが、Rubyはむしろ自然言語に近い」んだそうだ。 その辺はPerlから受け継いでいるが、Perlよりは人工的な気がする。 やはりバランスか。
畑社長が着目するのは,ソフト技術者にとってのGoogleの「居心地の良さ」だ。先日,ある取材で畑社長にお会いする機会があり,話題はソフト技術者の人材確保,労働環境や地位向上にまで及んだ。その際,畑社長はこんなことを言った。「大げさかもしれないが,日本の優秀な技術者はみんなGoogleに獲られてしまうのではないか,という恐怖感がある」と。
個人的には技術者が居心地が良い環境が整うことが最善なので、 「みんなGoogleに獲られて」も、恐怖は覚えないのだが、 居心地の良いところがGoogleしかないというのは、業界にとって不健全であろうとは思う。
うちも改善しよう。なにから始めたらいいかなあ。
Erlangは巨大なバイナリデータの扱いが苦手、という話。
基本的にパターンマッチで処理を行うのだが、 毎回文字列のコピーを作っちゃうから、長い文字列だと効率が悪いということらしい。 copy-on-writeとか、部分文字列のようなのが必要なのかもしれない。
Rubyはその辺、ちょっと工夫はしてるけど、 文字列の構造がもっと複雑になってもいいなら(あと、Cレベルの互換性が下がってもいいなら)、 まだまだできることはあるんだけど。どうしよう。
本当に困ってる人が出てからでいいかな。
やさしいRubiniusの拡張法。
確かに簡単なんだけど、これだと便利すぎて厳密な互換性は実現できそうにないな。 to_intのような変換システムはどこで動くんだろう。
しかし、こうやって簡単に機能が拡張できるというのは それはそれで素晴らしいことのような気はする。 効率もよくするんだって言ってるんだし。
個人的には以下のものがウケた。
Honey, you are my jewel.
Ruby and perl are not.
あと、
grep me
も悪くない。でも、最近だと実用性の観点からは「Google me」なんだろうなあ。