最新 追記

Matzにっき


2005年11月01日 [長年日記]

_ 未踏中間報告会

朝一の便で東京へ。渋谷のびぎねっとのオフィスで千葉PMの未踏中間報告会+ヒアリング。

Java系とRuby系の混在した奇妙な空間。 また後期の応募のプレゼンテーションも面白かった。 が、緊張したのか、強調点がずれてるもったいない人もいた。

で、お客として私もプレゼン。千葉センセイがRubyを知らないということで、 簡単な紹介するような話。ここにスライドを置く。

_ 日経BP社 「日経バイト」「日経Windowsプロ」を年内休刊

実は『日経バイト』で原稿を書いてほしいという話になっていたのだが、 急に「連載でなく1回にまとめて欲しい」という連絡が来たのだった。 「変だな」とは思ったのだが、まさか休刊とは。

またやってしまった


2005年11月02日 [長年日記]

_ [Ruby] ウェブ開発の世界を変えられるか--「Ruby on Rails」開発者の挑戦

Railsが注目されていることについて。DHHをめちゃめちゃ持ち上げてるなあ。 まあ注目を受けることは良いことではある。

ところで、

また2005年は、初めての開発者カンファレンスが開催され、60名が参加した。今年のカンファレンスには、商用開発に携わる開発者を中心に200名が集まった。Hanssonは、次回は800名近くの集客が見込めるとしている。

ちゅーのは単純に間違いだと思う。

  • 2005年が60名で、今年は200名だとすると今年は何年?
  • このカンファレンスはRuby Conferenceらしいが、2005年は(2004年でも)初めてのカンファレンスじゃない。初回は2001年(フロリダ)
  • 来年、800名だとするとコーディネータのDavid Alan Blackは大変だろうなあ(これは間違いじゃないケド)

ちなみに原文(Can one man and a mantra of "radical simplicity" change the world of Web development?)は以下の通り。

The first conference of Ruby developers last year had 60 people; this year there were about 200, the majority of whom were doing commercial development, Hansson said. He predicts 800 attendees will be at next year's conference.

去年が2005年ということ以外は原文からして間違っている。

_ [言語] syntax across languages

merd作者Pixelの作品。

言語デザイナーにとって便利な表だ。 Pixelはフランスが誇る言語おたく。関数言語好き。 Linux Expo Parisで会ったが、広範な知識は信頼できる。

言語好きは国境を越える。


2005年11月03日 文化の日 [長年日記]

_ 長女、文化祭

「文化の日」にちなんで長女の学校の文化祭が開かれる。

吹奏楽部に所属する彼女は演奏があるということで、 聞きにいく。後は、体育館いっぱいにこれまでの学校でやったことが展示してあった。 夏休みの研究発表とか、陶芸とか、遠足の記録とか、校内での学習成果を記録したものとか、 美術作品とか、習字とか。

私の知っている文化祭とは違うのだろうが、土地柄というものだろうか。

印象に残ったのは、英語弁論の発表と、インターネット関連の研究発表ポスター。 英語弁論は、立派な英語でどうどうと発表していた。 発表していた中三の生徒は、文化祭ポスターを書いたり、 夏休みの自由研究で金賞取ったり、いろいろと才能に溢れた人のようだ。 ただ、英語の発音がちょっとユニークでヒアリングできなかった。 英語弁論ってああいう話し方の人が多いような気がするんだけど、 伝統なのかな。

私の耳がアメリカ英語に最適化されすぎているのかもしれない。

インターネット関連の研究発表ポスターでは、 ネチケットとか、ネットオークションについてとか、 ワンクリック詐欺に気を付けようとか、今風のポスターが多かった。 一番印象に残ったのは「著作権について適切に扱おう」というもの。

内容は立派なのだが、ポスターには明らかにインターネットからダウンロードしてきたと思われる画像がぺたぺた張ってある。 さらに内容もasahi.comの著作権に関する注意書きから写してきたもの。 asahi.comの名前が明示してあるのは良いが引用の用件は満たしていない。自己矛盾。

著作権教育の限界を感じた。


2005年11月04日 [長年日記]

_ [Ruby] XML.com: REST on Rails

Railsは普通のWebアプリケーションを作るだけが能じゃなく、 RESTにも対応できるのだという例。やればできるものだ。

しかし、こうしてみるとWeb系技術に無知な自分を痛感させられるなあ。

_ [教会] セミナリー終了

4月から毎朝行ってきた勉強会だが、とうとう終了した。

しかし、最終日の今日になって教師の私が寝坊して遅刻してしまった。

うーん、最後でだめだめにしちゃったなあ。 本当はかっこよく感動的に終了させたかったんだが...。

ま、寝坊しなくても「かっこよく」は無理か。


2005年11月05日 [長年日記]

_ 町文化祭

今年から合併になって全体で松江市となったのだが、 町文化祭は例年どおり行われるのだそうだ。ふうむ。

長女はこちらでも吹奏楽の発表。 あとは幼稚園・保育園から中学生に至るまでさまざまな年代の子供たちと 大人たちの 美術作品(書道、絵画、陶芸、工作などなど)の展示。

なかなかの力作もあった。町内に窯がいくつもあるせいか陶芸作品にはプロ並のものが多かった。

子供たちやその友達の作品も展示されているのだが、 絵にも性格が現れるのが面白かった。 一生懸命きちょうめんな絵を描く子とか、なげやりでやる気のない絵を描く子とか。


2005年11月06日 [長年日記]

_ [教会] 松江

両親が任期を終えて帰ってきたので、 米子に出席しようかと思ったが、 セミナリーも終了したし、 今回は松江に出ることにした。


2005年11月07日 [長年日記]

_ [原稿] 日経Linux 12月号

先月に引き続き、デザインパターンについて。

前回(今月8日売り)は「デザインパターンとはなにか」というような話を紹介したのだが、 今月は「動的言語とデザインパターン」というような視点で紹介した。

もともと『デザインパターン』本でもSmalltalkの例題があったりして、 動的言語を意識していないわけではないのだが(パターンコミュニティはSmalltalkerが多いし)、 しかし、あの本を読む人の大半は(私も含めて)、「C++の本」としてとらえてると思う。

で、動的言語ならこのパターンはこういう風に使えるというような話。 紹介するパターンはPrototype, Template Method, Observerのみっつ。

で、本当は今日が〆切だったんだがどうも間に合いそうにない。 編集の人にメールして一日だけ延ばしてもらう。

実は、まだまだ原稿が目白押しなんだが。 OSMのも少し延ばしてもらう。こちらはちょっと日程に余裕がありそうなので助かる。


2005年11月08日 [長年日記]

_ [原稿] 日経Linux

本当は〆切から一日遅れているが、なんとか仕上げて提出する。

思ったより面白い話になった(自画自賛)。

_ 俺ってばスゲー。

こうやって仕事が滞っているときには、 自分のことを褒めることで自らを鼓舞するのはどうだろうか。

俺ってば、

  • 日本でも数少ない(広まった)言語デザイナーだし、
  • もちろんプログラムは書けるし、
  • 文章も書けるし、
  • プレゼンもできるし、
  • 英語も人並以上にできるし、
  • ...

でも、いろいろできるわりには、あんまり「成功」してないよな。 器用貧乏っていうかなんていうか。

いかん、よけい落ち込んできたぞ。


2005年11月09日 [長年日記]

_ [原稿] 日経バイト+るびま

日経バイト最終号の原稿を依頼されている。 〆切は明日だ。

「技術の真髄」シリーズの最後を飾ることになる。 そういえばリニューアル後に始まったこのシリーズの最初も私だったな。 私で良いのか。ま、編集が良いというんだから良いんだろうな。

で、なにについて語るのかだいぶ悩んだのだが、 ふたつ考えた「DRY原則とプログラミングの進化」と「動的言語礼賛論」のうち、 後者にすることにした。やっぱ私に期待されているのは言語の話だろう。

何といっても(自称)日本を代表する言語おたくだからな。

しかし、そう決めたもののなかなか筆が進まない。 現実逃避にお金にならない「るびま」の、 言語探訪の原稿を書き上げでしまった。今回は「Tcl」。 前回のIoに引き続きシンプル指向の言語を選んでしまった。


2005年11月10日 [長年日記]

_ [原稿] 日経バイト

一日書いても書き終わらない。私が語る動的言語って、ネタとしては面白いと思うのだが、 分量がねえ。そんなこんなで全然ハックしてないぞ。禁断症状が...。

_ わんこ原稿

夕食どきに、原稿の〆切が立て続けで、という話をしてたら 次女が「わんこ原稿だね」と言う。

一瞬、意味が分からず「わんこ?」という顔してたら、 「ほら、わんこ蕎麦みたいにどんどんくるんでしょ」だってさ。

確かに。ほいほい引き受けるからこういうことになるんで、 「もうお腹いっぱいです」と椀の蓋を閉めれば良いのか。

いや、暇な時は結構暇なんだから(今月はなさそうだけど)、 問題は引き受けちゃうことよりも、計画的に書けないことだろうなあ。

_ 高感度デジカメの時代がやってくるか - FinePix F10 & Z1

少々古い記事だが、我が意を得たり、という感じ。

xDカードで300円増しくらいでUSBアダプタが付いているものも売っているし、 もうF10でいいかなって気にもなっている。 やっぱり暗いところでもはっきり取れるのは魅力的だし、 他の機種に比べてノイズも少なそう。

問題は既に三台もデジカメ並べているのに、もう一台買うことに家人が納得するかどうかだ。

_ Star Wreck: In the Pirkinning

慣れないBitTorrentでダウンロード。結構速いなあ。

素人がこれだけの映像を作ってしまうという事実にまず驚愕。 原稿の〆切日だというのにこんなのを見ている自分にさらに驚愕。

映像はともかく、お話は素人レベルであった。でも、それはそれ、なのかもしれない。


2005年11月11日 ポッキー&プリッツの日 [長年日記]

_ 東京出張

東京へ。

イベントで呼ばれるのはしょっちゅうだが、 会社の出張は実はひさしぶりな気がする。

移動しながらも原稿は書く。なんとか今日中に終わらせたい。

打ち合わせ。今は内容が公開できないが、 現実化すれば結構社会的インパクトがあるのではないだろうか、というような話。

なかなかうまく進んだように思えるのだが、 しかし、どうもこのまま毎週東京にくることになりそうな気配が。

うう。

空港でおみやげ。家人のリクエストにより沖縄の黒糖プレッツェル。 「今日はポッキー&プリッツの日なのでなにか珍しいものを」とのことであった。 グリコ製品じゃないけどいいのかな。

_ Rubyでアジャイルプロトタイピング(1)

Rubyでプロトタイプを作り、仕様がはっきりしたらそれは捨てて、 (Javaなどで)正式版を作るという話。

なにも捨てんでも、と思うのだが。 プロトタイプを高速に作ったら、なにかの事情でRubyでは全然ダメだというのでなければ、 そのままRubyで突き進めば良いのにね。

お仕事環境では「やっぱりJavaでないと」というよく分からない圧力があるようだ。

してみると、RubyConfで8割くらいが「Rubyで仕事してる」と挙手した、 アメリカの状況は日本よりも進んで(?)いる。すくなくとも連中には、 社会として変化を受け入れる勇気があるような気がする。

いや、それが良いことがどうかは分からないけど。

_ 『4839919232』

Soopyの作者randyさんによる書籍。 Soopyと違ってサンプル言語(JoyToy)は普通。 いずれにせよ、これで「言語を作ってみよう」って人が増えると良いなあ。

浜松町の書店で見掛けて、買おうかとも思ったが、荷物になるし、 処理系はJavaで書いてあるし、まったく知らないことは書いてなさそうなので、 今日はやめた。

ところで、

とある言語の作者によれば「名前重要!」です

という形で私の言葉が引用されていた。いや、引用じゃなくて「ほのめかし」かな。 あれじゃ知らない人は分かんないじゃん(苦笑)。


2005年11月12日 [長年日記]

_ [原稿] 完成、あとひとつ

日経バイトはついに完成。なんか気が緩む。でも、もうひとつ(オープンソースマガジン)残っているのだ。

_ [Ruby] うさんくさい「Joy」

新山さんのメモから。

どうでもいいけど、Ruby 自身にしろ RoR にしろ、彼らはやたらと "joy" だの "使って楽しい" だのを強調するが、これ自体がそもそも非常にうさん臭い言葉だよな。プログラミングが楽しいのはある意味当然であって、必要以上に楽しすぎる場合はどこかでツケを払う必要が出てくる (そのツケを払うのが自分とは限らない) ということに彼らは気づいているのだろうか。

"joy" だの "使って楽しい" だのを強調することがうさんくさい点には同意します。 なんてったって、人はそれぞれ違うんで、全員が同じことをjoyと感じるわけはないので、 客観的に優れていることを示すことは不可能ですし。 Python使ってる方がRuby使うよりはるかに楽しい人を見付けるのは簡単でしょう。

にも関わらず、我々が「楽しい」を連発するのは、

  • プログラマのあるサブセットは共通の嗜好を持ち
  • その集合が「楽しい」と感じるある言語の性質がある
  • が、我々は語彙が足りなく、客観的にそれを表現できない

ということなんでしょうね、きっと。

で、いきおいイメージ先行のマーケティング的に使われることが多いので、 どうしても「うさんくさく」なるんでしょう。これは自覚してます。

が、「必要以上に楽しすぎる場合はどこかでツケを払う必要が出てくる」ということには、 正直、気づいてないです、すいません。

いや、私自身は毎日のようにツケを払ってますよ。極端に動的な言語は最適化が行いにくいんで、 処理系が遅いのをなんとかするのが大変とか、 「書いてて自然」とか自明でない設計ポリシーのため、言語設計上の判断が非常に難しいとか。

でも、「そのツケを払うのが自分とは限らない」ってのは、どういうシチュエーションなのか想像つかないっす。想像力足りないかな。


2005年11月13日 [長年日記]

_ [教会] 監督不在

司会。あまりうわずらなくなってきた。

副監督の一人は岡山、監督も聖餐会終了後は監督訓練集会で岡山。 取り残された私は少々不安だったが、とくになにごともなく終了。

集会終了後、面接。いろいろと懸念事項を聞く。 教会といえどもいろんな人の集まりなので、 心配事やら、問題やらいろいろあるものだ。

依頼されたことは手配しておく。


2005年11月14日 [長年日記]

_ [原稿] オープンソースマガジン 1月号

月例のハッカーズライフ。今月は「ソースコードを読む」話。

まあ、2ページしかないんであまり突っ込んだ話は書けないが、 どう読むか、とか、どういうツールを使うかとか。

でも、普段、私がソースコードを読むときには近代的なツールは使わないで grepに頼りきってるんだよなあ。ctagsすら使わないのはいかがなものか、という気もしないでもない。

Rubyではデバッガも使わないし、IDEも使えないし。 完全にオールドタイプだな。

_ [OSS] Sleepycat -- 健全な収益構造を持つオープンソース企業の見事な例

まあ、ちゃんとつぶれないで事業を継続している点は尊敬に値する。

でも、MySQL AB (MySQL)もTrolltec (Qt) もSleepycat (BDBM) も、自らのビジネスモデルのために外部からのコードは基本的に受け取らない(か、著作権上と譲渡契約を行う)必要があるんだよね。それはバザールモデルを強調するオープンソースの立場からは、「見事な例」とはちょっと違うような気がする。

ま、ソースコードが自由なライセンスで提供されているという、私が一番欲しい自由が提供されている以上、文句を言うつもりはないけれども。

_ [Ruby] Ethical Software by Alex Bunardzic » Superior or Just Easier?

「優れている」とはタフな問題を解決することだ、と考えがちだが、 もっと「簡単な」道があるかもしれない。

What really caught my attention in that comment is the underlying assumption that something could either be superior, or easy. This belies the heroic mentality of the tough, battle hardened modern man, who is used to struggling in life, knowing that it don’t come easy.

Along come these wacky dudes, like for example Matz and the aforementioned David, and gently tap these people on the shoulder, and try to make them see that, hey, you don’t have to always suffer for your work. Maybe there is a way to make it easer?

肩の力を抜いて生きよう。


2005年11月15日 [長年日記]

_ [OSS] フリーソフトウェアとカトリック教義の驚くべき共通点

面白いっ。私にとってはさほど驚くべきことでもないけれども。

で、私の教会だが、プレゼンテーションはパワーポイントが多いし、 大会の映像データはwmvだし、上記の記事の見地からはまだまだ改善点は多そうな。

家族歴史(系図)データはオープンソースではないけど、自作ツールだから、 ファイルフォーマットは確保してるな。私にとって自由ではないからうれしくはないけど。

_ Ajaxを超える「Arax」採用、リッチクライアント新技術の内容は

オープンソースジャパンの新挑戦。

どうでもいいけど、おおげさに持ち上げたわりには単なるflashのように見えるんだけど。 実態を知ってるとあんまりびっくりしないなあ。

オープンソースジャパンの想定顧客層を考えると、 そういう素人だけが感心するマーケティングは逆効果じゃないのかなあ。 Zendアクセラレータのときも似たような思ったんだけど。

同じびっくりするならZimbraのような驚きが欲しい。


2005年11月16日 [長年日記]

_ [Ruby] るびま11号

出ました。

  • 巻頭言

    「日本Rubyの会議」を開こうっ。島根はいかがでしょうか。山陰以外の日本全国から反対の声が聞こえそうだが。

  • Ruby の歩き方

    これって毎号載るのね。良いことだと思います。

  • Rubyist Hotlinks 【第 11 回】 後藤兄弟 前編

    「私は三人の後藤を知っている」、「私はその全部だ」の後藤先生とは違う後藤さんたちです。

  • Ruby ビギナーのための CGI 入門 【第 1 回】 初めての CGI プログラム

    結構な大作。なめてかかって私は圧倒されてしまった。

  • 解説 Ruby Refactoring Browser - Ruby Refactoring Browser の組み込み

    これを読めば私もIDEが使えるようになるか。Emacsで使えるRRBは結構私にとって良い入門になると思うんだが。

  • あなたの Ruby コードを添削します 【第 2 回】 HexStruct.rb

    こうやって「RubyWay」が明確になっていくに違いない。

  • プログラマーのための YAML 入門 (実践編)

    YAML。便利です。

  • Rubyist のための他言語探訪 【第 4 回】 Tcl

    えーと、最近「ヘンな言語探訪」になってますね。次回はwhitespaceとか...。

  • 標準添付ライブラリ紹介 【第 5 回】 enumerator

    結構便利ですよね、enumerator。

  • Ruby Conference 2005 レポート

    「多かった」。(笑)

  • RubyNews

    あちこちでイベントが開かれてますねえ。なかなか参加できないんですが。

  • RubyEventCheck

    あちこちでイベントが開かれますねえ。どっか参加しようかなあ(五月蝿いから嫌われるかも)。

  • 編集後記

    お題は「勉強会」。実は生涯通じて参加したことがないかも。勉強キライ。


2005年11月17日 [長年日記]

_ Agile Programming Method in Dilbert

Dilbertまでアジャイルとは。やるな。

そのうちDynamic LanguageとかRailsとか出てこないかな。


2005年11月18日 [長年日記]

_ [デジカメ] 7.1倍ズームレンズ+手ぶれ補正搭載でも薄型コンパクト!「Caplio R3」

結構、感じいい。7.1倍は魅力だなあ。

これと、Finepix F10 (or F11), Exilim Z500くらいが欲しいなあ。 Cybershotの新しい奴も魅力的だけど、Memorystick Duoってのはなあ。

なんか毎回メディアの文句をいってるような気が...。

_ 「賞味期限切れ」でも、捨てなくてOK

末日聖徒の家庭の常として、うちにも結構古い食糧があるが(上手にローテーションさせるの大変なんだよね)、 さすがに20年もののオーツ麦とかありませんから。

_ 論文・島大

原稿の狭間に論文の打ち合わせで島大に。 ほんとうはここで全部仕上げているとかっこいいんだが、 完成はしなかった。

月曜〆切だから別に構わないんだけど。

で、既存の論文が足りないかも。そういえば、あんまり査読のあるところへの投稿とかしてなかったもんなあ。学術的活動が足りないことが最後まで響いたな。雑誌の原稿とかたくさんあるんだけど。


2005年11月19日 [長年日記]

_ おたふく風邪

息子の顔が腫れている。聞くとクラスでおたふく風邪がはやっているらしい。 やられた。

今日は小学校の音楽会だったのだが、息子は欠席。 私は息子の学年のぶんと次女の発表を記録するために参加した。

親バカ全開でビデオを撮影してきた。お仲間がたくさん。 中にはSonyのハイビジョンのビデオカメラを持ってる人もいた。 一昔前のプロ以上の機材だな。

_ フィッシングその後

直後に気がついてパスワード変更したので事無きを得たphishingだが、 高木さんに捕捉されてしまったようだ。

いっぱいアクセスがきてるぞ。全国に恥を晒してしまった。 もっともこんなところで日記を公開してれば日々恥晒しなわけだが。


2005年11月20日 [長年日記]

_ [教会] プライマリー発表

ワード評議会があったのだが、 子供の支度をさせたりしてたら結局出席できなかった。 妻、息子、末娘の三人は留守番。

今日は、聖餐会でプライマリーの発表があった。 子供達によるなかなかかわいらしい発表であった。 息子は昨日の音楽祭に引き続き参加できなくて残念。 彼の発表部分は私が原稿を代読した。

御世話をした妹の話によると直前までなかなか準備が進まなくて どうなることやら、と思ってたらしい。 そうは見えなかったな。本番に強い子供達。

次女はナレーターをしたり、大活躍であった。


2005年11月21日 [長年日記]

_ 仕事が進んだ日

論文と書類が一通り終わって、 大学に提出。いくつかどうしても足りないものは 後から用意することに。

また、雑誌原稿のゲラを二本仕上げて、 こまごまとした仕事も終わらせた。

それと伸び伸びになっていたセキュリティレポートをwww.ruby-lang.orgに上げた。 これは対応が遅くて申し訳なかった、と思う。 なかなかレポートが揃わなかったり、確認ができなかったり、と 内輪の事情はあったのだが、言い訳にしかすぎない。

実質的な影響を受けた人はいなかったと思うのがせめてもの救いだ。

いや、いろいろ片付いたので気分が良い。


2005年11月22日 [長年日記]

_ 取材

いつも通り、午前中ふにふにとしていると会社から電話。

珍しいなと思ったら、そういえば今日は取材を受けるって約束してたんだった。 うっかりしてた。子供の笑顔見てなごんでる場合じゃない。慌ててオフィスまで移動。

「日経バイト」の取材。 最終号に過去記事の検証としてさまざまな分野の人に話を聞くという特集なのだそうだ。 で、「プログラミング言語」の担当が私。わざわざ松江まで来るという時点でかなり豪気な企画だ。

そもそも「プログラミング言語」の一人者が私で良いのかって疑問があるのだが、 その辺を聞いたところ、実装技術の偉い人はたくさんいるけど、 言語そのものについて扱っていて、日経バイトの読者に名前がピンと来る人ってのが なかなかいないそうだ。まあ、確かにこのネタだと中田先生とかに話を聞くわけにもいかないか。 苦肉の策といったところか。

まあ、いろいろしゃべったが、役に立てたんだろうか。

しゃべった内容は(記事の邪魔になるといけないので)ここでは書かないことにする。

_ [言語] Secrets of Successful Programming Language Business

注目の編集者、森田さんがFranz Inc.のCEO、Fritz Kunzeに「言語ビジネスで成功する秘訣」を尋ねた答え。さすがに成功した人は違うな。おっしゃる通り。

詳細はリンク先を自分で読んでほしい(なぜか英文)。

ただねえ、成功するにはそれでいいだろうけど、 そういう言語って技術者とか言語設計者にとっては面白くないんだよねえ。

で、面白い言語でビジネスしようとすると...やっぱり死屍累累になるんだな。 面白くないとモチベーションが維持できないし。

難しいものだ。

_ [Ruby] Ruby the Rival

Bruce Tate, James Duncan Davidson, Robert Cooper, Bill Vennersの各人に対する 「JavaのライバルとしてのRubyについてどう思うか」という感じのテーマでのインタビュー集。

さすがに彼らは冷静でRubyを一方的に褒めたりしないわけだが、 それにしたってこれらの面子がRubyに対してポジティブな感想を述べてくれるというだけで それはそれですごいことではないかと思う。


2005年11月23日 勤労感謝の日 [長年日記]

_ 感染/結婚記念日

朝、ふと見ると、次女のほっぺたが膨らんでいる。あらら。

今日は結婚記念日(14年目)なので、なにかしようかと思ったが、 病人がいるのでは仕方がなくおとなしくしていることにする。

実家には妹が戻ってきているので、会いに行きたかったのだが、 おたふく風邪を蔓延させてもいかんしなあ。

_ [Ruby] assignment in modifier

たとえば

foo(x) if x = bar()

のようなコードではxへの代入がfoo(x)での参照よりも後ろに来ているので、 前のxはメソッド呼び出しとして解釈されてしまう。 [ruby-core:06684]では、上記のコードを

if x = bar()
  foo(x)
end

と完全に同一にすることが提案されている。

が、正直あんまり乗り気じゃない。

ま、実装が面倒くさい(2パスかバックパッチングが必要になる)というのが最大の理由だが、 そのような面倒な処理を行って発生する違いというのは

  • 条件式での代入という副作用があり、それほど推奨できない行為を許可すること
  • modifer(後置ifなど)の説明がちょっぴり簡単になる

くらいだから。それに結局

loop do
  p a
  a = 5
end

とか

if false
  a = 5
end
p a

のようなコードで発生する「実際の代入処理の実行(動的)と代入文によるローカル変数の宣言(静的)」の問題がすべて解決するわけでない以上、あんまり嬉しくないのではないだろうか。

ここで、(どうせ2パスにするなら)もう一歩進めて、「そのメソッド内で代入の左辺に登場する識別子はどこでもローカル変数とみなす」というルールを導入することが考えられる。これなら、上にあげたloopやifのものにも対応できる。

しかし、このルールには、ある識別子がローカル変数かどうかメソッド全体を見ないとわからないので、 コードの理解しやすさが下がる危険性がある。メソッドが小さい時はいいけど、大きなメソッドがないとは限らないし。まあ、(かっこを省略した)無引数メソッド呼び出しと同名のローカル変数が共存するときにしか、問題にならないので、気にすることはないのかもしれないけど。


2005年11月24日 [長年日記]

_ 休息

小学生二人はおたふくかぜ。中学生は喉が痛い、頭が痛い、とのことでお休み。 私も耳の下辺りが痛いようなので会社は休み。

結局、平日なのに全員が自宅にいるという事態に。 しかし、出られないからストレスがたまってるし、 唯一ごきげんな末娘は元気にあちこちものをひっくり返すし、 紙やら本やらをやぶろうとするしで、親はあんまり休息できない。

なんか疲れる一日であった。

_ [OSS]Linus と話がしたいのだけれど……

Linusはあまり外に出ないって話。私もそうしようかなあ。

でも、結構人と会ったり、話したりするのは好きだったりする。 田舎にいるせいであまり頻度は高くないからちょうどいいのかもしれない。 これで東京近辺にいたら勉強会やら各種イベントやらの出席でより忙しかったかも。

でも、先日、森田さんがFranz IncのFritz Kunzeに会ったときには、先方から「Rubyのまつもとに会ってみたい」と言ってくださったようで、 このときばかりは機動性の低い田舎にいたことを残念に思った。

_ [Ruby] Try Ruby

why the lucky stiffによる$SAFEを使わないサンドボックスの実現だそうだ。

で、時間と興味のある人はなにか悪さをする余地が残っているかどうかチェックしてほしい、とのこと。

もし、みつけたら、 why@whytheluckystiff.net まで連絡してほしい。


2005年11月25日 [長年日記]

_ 英会話

会社で仕事をしていると、「宣教師たちが事故した」との連絡。

自転車と車で接触したらしい。さいわいほとんどケガはないようだが、 警察の実況検分があるので、金曜夜に教会で行っている無料英会話教室には間に合わないようだ、とのこと。 で、私が行って鍵開けと連絡を頼まれる。

で、教会に行って、鍵を開けて、参加してきた人にひととおりのことを伝えて、 しばらく英語で会話する。

そのうち宣教師たちが戻ってきて、一緒に話をした。

教会の英会話は本当に久しぶりだなあ。 勉強になった。

_ [Ruby] Entrevista a Matz

Rubyの開発者Matzに対するインタビュー(スペイン語)。

しかし、babelfishを通してもまだなにを言ってるかよくわからないぞ。

元々のインタビューはメールで行われ、 当然英語であった。その内容は以下の通り。

・ What do you think are the killer-applications written on Ruby nowadays?

Rails definitely. Although I don't use Rails at all, it is a good user bait. I hope users would eventually find usefulness of Ruby in other fields, such as text processing and system administration.

・ Ruby has made for sure programming fun again. Rails has made for sure web programming fun again. What do you think are going to be the next steps in "fun programming"?

Everywhere. From palm-sized computers to supercomputers. From embedded programming to bioinformatics. Programming should be fun always.

・ What do you think about new technologies such as Model Driven Applications? Do you think at some point there will be no necesity of writing code, but rather modelling the data and the processes only?

I don't buy them, not because they are not useful, but because writing code is too fun to abandon. People to avoid coding must not be enjoying their software creation.

・ Matz, you have achieved a lot in your life so far. If I still remember how to count, you're now turning 40 years old. Do you have any dream that you have not yet achieved so far?

Seeing my grandchildren, honestly. Besides that, I do want to see the world of ubiquitous programming, where we can program everything, and to see some influence from Ruby in it.

・ Your favorite quote?

"First they ignore you, then they laugh at you, then they fight you, then you win." - Mahatma Gandhi

"if you name it right, you make it right." - Anonymous


2005年11月26日 [長年日記]

_ 休日

午前中、小学生の子供たちを病院に連れていく。 おたふくかぜは治りましたとのこと。

で、それを記念して(?)家族で外食。

午後は宣教師のお手伝い。なんか毎日会ってるな。 お手伝いが終わってから昼食がまだだという宣教師たちをマクドナルドに連れていく。 私はグラコロ今年初体験。さっき昼食食べたのにな。

_ [原稿] 日経Linux 2月号

今度はデザインパターンの3回目。

オープン・クローズ原則とデザインパターンという主題を選んだが、結局、まさーるさんの記事そのまんまな内容になりそうな気配が。


2005年11月27日 [長年日記]

_ [教会] 松江ワード大会

今日は年に一度の松江ワード大会。出雲、米子、倉吉、鳥取、倉敷、岡山などからもお客さんが出席してくださる。

詳細は割愛するが、良い話がたくさん聞けた。 ただ、松江側の準備不足は感じた。もうちょっとできたことはあったように思う。

扶助協会ではうちの奥さんがレッスンした。聞きたかったなあ。評判は良かったようだ。

_ [教会] ステーク神権会

集会終了後(指導者会終了後)、米子に移動して、ステーク神権会。

今日のテーマは「伝道」であった。 DVDを見たり、実際の宣教師の話を聞いたり。

DVDの内容は考えさせられた。私が宣教師しているときにこれがあったら もうちょっとマシな行動が取れたかもしれない。あの時、私は若かった。 ちゅーか、もうちょっと考えて行動したほうがよかったと思うこともいくつか。

後、任期の終わった私の両親が話をした。 帰ってきてたのは11月のはじめなのだが、 子供が病気したりで会うのははじめて。薄情な長男だ。

しかし、自分の両親がこんなに真面目な顔で話をするのを聞くのは 本当に久しぶり。実に15年くらいぶりのような気がする。


2005年11月28日 [長年日記]

_ 退学証明書

島大の事務手続きに必要なので、卒業証明書を依頼していたのが 届いたので、他の書類と一緒にさっそく大学に持っていく。

で、提出直前に気がついたのだが、送られてきていたのは退学証明書であった。 やられた。

私、実は大学を一度退学して、再度編入してから卒業しているのであった。 だから、確かに退学はしているから退学証明は可能なのだが、 依頼の手紙にはちゃんと卒業証明書って書いたし、 卒業年度も書いたのに...。

やはり、再入学後の新しい学籍番号を覚えていなかったのが敗因だろうな。 だからって...ぶつぶつ。

すぐに大学の事務方に連絡したが、もう一度依頼するところからはじめないといけないらしい。 まったくお役所は...あ、もう独立行政法人なんだっけか。


2005年11月29日 [長年日記]

_ [OOP] DRYとOCP

DRYとはDon't Repeat Yourselfの略で「繰り返しを避ける」というソフトウェア設計上の原則のことである。Dave ThomasとAndy Huntの『Pragmatic Programmers』で紹介され、Railsが強調したことで知られるこの原則は、ソフトウェアの生産性・保守性の向上に有効な原則として知られている。

一方のOCPとはOpen-Closed Principleの略で「開放・閉鎖原則」とか「オープン・クローズ原則」とか訳される。先日も述べたが、この原則の定義は

モジュールは拡張に対して開いて (Open) おり,修正に対して閉じて (Closed) いなければならない

というものである。 詳しくは、 まさーるさんの記事を参照されたい。

さて、日経Linuxの原稿で今月はOCPについて語ろうとしているわけだが、 えらい苦労しながら、改めて気がついたのは、 この全然違うようにみえるふたつの原則は実は密接な関連があることだ。

すなわち、DRY原則にしたがっていないソフトウェアは自動的にOCPに反することになる。 逆に、DRY原則に従おうとクラス設計すると結果的にOCPに従うことになる(ことが多い)。

で、原稿ではそのことを説明しようとしているのだが、あまり上手に書けてないような気がする。 別にスランプというわけではなくて、いつものことなのだが。


2005年11月30日 [長年日記]

_ [原稿] 年末進行

12月は年末進行というものがあって〆切が早くなる。 今月は普段より半月近く早い。

で、11月末には原稿くださいね、と2件から依頼されているのだが、 全然進まない。特に「デザインパターン」の方が。

で、逃避行動としてもうちょっと書きやすそうなOSMの「ハッカーズライフ」を。

進まない原稿書きの逃避として、別の原稿書きができるのは効率が良い。 普段なら映画とか見てしまったりして、全然仕事が進まないのに(だめ人間)。

今月の「ハッカーズライフ」のテーマは「Let's Talk Lisp」。 なんかPaul Grahamの「普通のやつらの上を行け」の焼き直しのような気もするが、一応、独自の視点も混ぜたつもり。

で、日経Linuxは〆切に間に合いそうにない。ごめんなさいメールを書いた。

そのあおりを受けて、るびまの連載も休載にした。ごめんね、みんな。


最新 追記