長女はそろそろ思春期と呼んでもよい年ごろなので、最近反抗したがる。 私自身は第二次反抗期がなかったので(そう、本当になかった)、 なかなか理解してあげられない。
今日も「教会に行きたくない」ということなので、1時間ほど話を聞いた。 いろいろつもりつもった感情のいろいろがあったらしい。 話したいだけ話させて、いろいろ聞いた後、 いくつかお互いに改善の約束をした。 今日は岡山に行くはずで行けなかったのだが、かえって良かったというものだ。
私にとっても学ぶことが多かった。
あれだけぐずぐず言っていた長女も、お昼ごろにはけろっとしていた。 根は素直ないい子なんだよな。うん、うん(親馬鹿か)。
聖文にこんな言葉がある。私の好きな言葉だ。
ここでの「わたし」は主、つまり神さまである。
人間には弱点がたくさんある。その弱点が長所になるというのだ。なんと希望のある言葉だろう。 小さい時からこの言葉の希望が好きだった。 でも、自分の弱点がどうやって長所になるんだろうと、疑問に思っていたのも事実だ。
だいぶん歳をとった今ならちょっとは分かる気がする。
私は子供のときから数学が苦手だった。あらゆる科目の中で数学だけ飛び抜けて悪いのだ。 あと、物理や化学も成績はそんなによくなかった。数式の扱いが下手だから。
今思えば、私にはある程度以上複雑なものを扱う能力が欠けているのだと思う。 小学生レベルの単純な算数ならなんとかなるが、数学のレベルが上がって、 ある程度の複雑さを備え、応用力が要求されると、ある閾値を越えて、理解できなくなってしまうのだ。
これは今でも私の弱点である。
しかし、言語設計者としてはこの弱点は長所として働く(ような気がする)。 つまり、私のような弱点がない人は複雑さを恐れない。 彼には理解できてしまうから。 しかし、私は理解力に人より低い限界があり、それを自覚しているので、 Rubyの複雑さは(確かにRubyは複雑な言語だが)、 ある一定のレベルで収まっていて、 それがこの言語の魅力につながっているのではないかと思うのだ。
以前、Dave Thomasの「なぜRubyが設計できたのか」という質問に、 当時は「なぜ他の人が似たようなものを作らないのかが分からない」と答えたが、 今なら「私の弱点が功を奏したから」と答えるかな。
昔から数学について劣等感を感じていたのだが、最近はそうでもなくなった。 今でも数学に強い人には憧れるけど。
ひとつ、確信していることがある。 Damian Conwayには私の弱点はないだろうということ。 そしておそらくはLarry Wallにも。それがPerl6にとって良いことかどうかは知らないが。
ことの発端は、theserverside.comで Geert Bevinが「Ruby on RailsはJavaの10倍の生産性とは本当か」と提起したことだ。
彼はRailsの典型的アプリケーションであるTa-da Listを JavaとRIFE frameworkを使い、
というBla-bla Listを作ったのだった。 ついでに、GeertはTa-da Listのセキュリティ問題も発見している(すでにfixされている)。
ま、Rails効果ってのは、Rubyを使っているという点以外には、 徹底してDRY (Don't Repeat Yourself)を実践することで実現されているので、 同じような設計思想のWebアプリケーションフレームワークがあれば Javaだろうが似たような生産性を実現できてもなんの不思議もない。 DHH(Railsの作者)がRailsに対してやったのと同じマーケティングを、 GeertはRIFEに対して試みたと見なすのが自然だと私は思った。
ところが、これに対して
が絡み合って、コメントが伸びる伸びる。おまけにDHHも参戦した。こちらは(ソースは公開されていない)Ta-da ListとBla-bla Listでソースを並べて、Railsによるアプリケーションの簡潔性を示していた。
それに対するGeertの返事。要約すると「一番極端なところを比較してもしょうがない」ということ。説得力があるようなないような。
その後も議論は止まらない。最後には「〜じゃないか」「そんなことは主張してない」と泥仕合風味。
見かねたLucas Carlson(Rails派)が、 「Ruby vs. Java: A matter of taste」という記事を自分のブログに書いた。これは視点の違い、趣味の違いだとする公正なもの(だと私は思った)。
それでもまだ議論は収まりきっていないようだが、 いやあ、みんな自分のフレームワークを愛しているからこんなにもめるのか、 それとも「マーケティング」手段になにか根本的な間違いがあるのか。
個人的には、「スクリプト言語では不十分」という主張が気になった。 この主張に関する話はなんとなく尻切れトンボで終わってしまったのだが、 結局「遅いから」ってことなんだろうか。 そればかりでもないように感じられたのだが、具体的な指摘は出なかったなあ。
もちろん速度的な問題はあるけど、それ以外でRubyでは無理で、 Javaならできることなんてないような気がするけど。
のんびりとした一日。
午後からは買い物。 以前閉鎖されたショッピングセンターが 名前を改めて再開したということで。
まあ、どうということのないショッピングセンターだし、 開店直後で人が多いのはわかるのだが、 ドラッグストアが入ったのと、 手芸店が入ったの以外は店の構成があまり変わらないし、 それに本屋とゲームコーナーがないのは、 客への訴求力に問題になるのではないだろうか。
私が心配することではないのかもしれないけど。
店内では、多くの客がスクリーンを見つめていた。 野球の大会の決勝戦らしい。 スポーツには全然関心がないのだが、 みんなが一生懸命応援している姿は見ていて興味深い。 たまに「やったーっ」という声が聞こえると 「ああ、一体感を感じているんだなあ」と思う。 その応援の声が選手に届いていると思うほど ロマンチストではないが。
結局優勝したらしい。おめでとう。
でも、背後に「大人の事情」が見え隠れしているらしいのが ちょっと気分が良くないかも。
いや、大人はそういうのは見なかったことにするのかもしれないけど。
休日なので米子に買い物。 何件か回っているうちにあっという間に時間が過ぎる。
息子はサボテンの店で、お気に入りのサボテンを見つけてご満悦。
帰りに従姉の店(雑貨店)によって、娘と妻は喜んでいた。 あと、おじ・おばに挨拶してから帰る。
RailsCast同様、スクリーンキャストを提供するものだが、 こちらは有料。おぎのさんは絶賛している。
ちょっとショック。 ある意味、ひとつの時代が終わったようにも思う。
John Backusの功績は
どれをとってもプログラミング言語にとって非常に大きな業績であった、と思う。
「わたしの成果の大半は、わたしが怠け者であることから生まれた」とバッカス氏は1979年にIBM社内誌「Think」で語った。「プログラムを書くのが嫌いだったので、ミサイルの軌道を計算するのにIBM 701(初期のコンピュータ)でプログラムを書いていた時に、プログラムをもっと簡単に書くためのプログラミングシステムに取り組み始めた」
うむ、プログラマーの鑑である。
Mac使ってるRubyプログラマは多いよね。 特にアメリカでは。日本でも最近増えてるみたい。
私自身は親指でパッドを扱えるようになるまではMacに移行できない。
Rubiniusサイト。
私が注目した点は、
特に後者。
ここ最近ずっと、 プル型のサービスがほしいので、メールをベースにした開発サイト (RCRhiveはその(あまりうまくいっていない)試み)について考えていたのだが、 Dev'ilを見ていたら、 どうせRSSリーダーを使ってるんだから、RSSをちゃんと吐いたら Webだけで十分プル型サービスを実現できるのではないか、という気になってきた。
日経Linuxでわざわざメールサービスについて記事を書いたのに、 こんな結論はつまんない。
とはいえ、今のRubyの開発は情報の入り口がたくさんあるので 「ポケットひとつの原則」に反している。 適当な開発サイトを用意してポケットひとつにしたいのものだ。
4774134325
Googleってのは相当オープンな企業で、普通なら秘密にしてしまうような 内部情報も(最新ではないにしても)論文などでオープンにしてしまう。 が、それを
のはなかなか大変なことだ。本書はそれを実現した貴重な本だと思う。 著者の西田さんは私の(NaClでの)元同僚。 OpenCOBOLコンパイラなどでお世話になった。
前書きを依頼された時、 本当は検索技術とか得意じゃないので、 お断りしようかと思ったのだが、 実際に中身を読んだら、思ったよりずっとわかりやすく書いてあるし、 いろいろな人の参考になるだろうと思って引き受けることにした。
単なる検索技術からデータセンターの作り方まで、 さまざまな領域をカバーしているし、面白いと思うよ。
エラーが発生したら、エラーページにテストコードを表示する。 今後は二度と同じエラーは起こさない、という怠惰さ。
テストファースト開発じゃなくて、テストファーストデバッグか。
なかなかテストから入る(TDD)とか、挙動を定義する(BDD)とかは 導入しにくい人でもこっちなら始めやすいかも。
もちろん網羅的なテストにはならないんだろうけど。
OSSを使ったSIにおける実績をまとめたレポート。 「Rubyが◎」というのは実際のところどうなのか、という気がしないでもないが、 確かに実績はずいぶんたまっているような気はする。
Ruby on RailsはPHPとくらべてDeployが弱い、PHPはアップロードするだけで そこそこの速度で動くのに、Railsはdevelopmentモードはアップロードするだけだが遅いし、 productionモードはサーバーをリスタートさせなきゃいけない(し、FastCGIとか面倒)というのが、 一般的な評判だが、それを改善する(かもしれない)Apacheモジュールmodrails。
動画が紹介されているんだけど、普段からRailsを使わない私にはうれしさがよくわからなかった。 でも、いいものなんだよね、きっと。
先日、Sapphireについてとりあげたばかりだが、 同じことを考えるのは一人じゃなかった、という話。
もうひとつ別のSapphire(やっぱりRubyのフォーク)があって、 それら両方の紹介。
前回紹介したSapphireの方が現実主義みたい。