«前の日(11-11) 最新 次の日(11-13)» 追記

Matzにっき


2003-11-12

_ [Ruby]旅立ち

朝10時の飛行機で出雲空港から羽田まで。機体はMD-90。

東京事務所に顔を出し、ネット接続。 原稿を書こうと思ったが、OSが

17時に成田に着き、チェックイン。19時25分の飛行機でダラス・フォートワース空港まで。 機体はB-777。

機内は結構混雑している。前は2席占有して寝ることができたこともあるけど、 今回はとてもそんなことはできそうにない。お隣はスミス夫人、きさくで信仰深い方だ。 聖書をいつも手にしておられる。

機内で見た映画は

  • 『Italian Job』

    邦題はたぶん『ミニミニ大作戦』。ひどいタイトルだ。あまり考えずに見る映画だろうなあ。 最初の強奪のアイディアは秀逸。後半の展開はスマートではない。 ていうか、信号管制システムを乗っ取ってるわりには頭悪すぎ。

  • 『Alex & Emma』

    邦題知らず(未公開?)。小説家と速記者との間のラブコメディ。あんまり面白くない。 Kate Hudsonはキュートだ。

  • 『13階段』

    邦画。けっこう面白かった。でも、なんかすっきりしない。 ストーリーの緻密さを感じさせないところとか、 光造形システムで指紋の偽造はできそうにないなあとか。

現地時間で15時、 空港に到着すると、運転手が待っていた。Texas A&M UniversityのあるCollege Stationまで車で。 3時間かかった。ほとんど寝てたけど。

着いたホテルは、 実際にはホテルというよりゲストハウスという感じ。壁に貼ってあった紙によるとコロニアル風なのだそうだ。 なかなか感じの良いところだった。泊まったのはFish Fiddle's Room

Bjarne Stroustrup教授とディナー。

その後、ケーブルテレビでアニメを見ながら明日のスライドの準備とLinux Magazineの原稿書き。

アメリカは今異常気象らしい。西海岸は大雨で車が水に沈んでいるし、東海岸は大雪で大変らしい。 さいわいテキサスは(まだ)平穏だけど。

[]

2004-11-12

_ [Ruby]Traits

以前、考えた時には「無理かも」と思ったTraitsだが、 今日になって久しぶりに考えてみたら、 なにも難しいことをせずとも、ただ単に新しくModuleを生成する演算(メソッド)を いくつか追加するだけで良いのではないか、という気になった*1

ただ、Rubyのモジュールは一種の継承関係を維持しているので、 sumなどをきちんと定義できるかどうかはまだ不明だ。 もうちょっと考えてみよう。

それはそれとして、ModuleとClassの間の継承関係は不要のような気がしてきた。 もちろん、実装を共有できる部分は多々あるのだが、だからといって継承関係が必要なわけではない。 以前、MethodとUnboundMethodを分離したように、ClassとModuleを分離してもよいかもしれない。

*1  そうしてTraitsを導入して何がうれしいのかはいまいち不明なのだが

_ [原稿]Linux Magazine 1月号

当初、ORマッパーについて書こうと思っていたのだが、 どうしてもRDBについて書く気になれなくて、ここ数日困っていた。 結局、RD, Textile, Markdownなどの「プレーンテキスト風味マークアップ」について 書くことにする。とはいえ、テーマがようやく決まってもさっぱりやる気が向上せずに相変わらず困っているのだな。

本日のツッコミ(全1件) [ツッコミを入れる]

_ MMX [>ORマッパー 非効率なSQL大量発行とかして、「コンピュータサイエンスのベトナム」と言う人もいます。キャッシュとか..]

[]

2005-11-12

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

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

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

新山さんのメモから。

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

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

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

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

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

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

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

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

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

本日のツッコミ(全16件) [ツッコミを入れる]

Before...

_ ベン [なんか新山さんのブログを読み直して、そんな話でもないような気がしてきました...]

_ 774さん [コカコーラのCMでyeahとか言って楽しそうな若者や、楽しそうにハックしているハッカーを見ると無償に腹が立つ性質で、..]

_ まつもと [ベンさん: 誤字ってのは一番発見がやさしいバグだと思いますよ。ほとんどの場合には動的言語でも検出できますし、偶然名..]

_ shiro [いや、ちょっとした誤字が手強いバグになることもありますね。method_missingで怪しいことをしてるとか、レア..]

_ 機械伯爵 [ツケを払わされる人←教える人など(よく教える相手にいじめられる)ちなみにプログラミングに限らず、コンピュータ関連全て..]

_ まつもと [なるほど、と一瞬納得しかかったのですが、でも、考えてみると「教える人」って何をどう教えてもいじめられませんかね、特に..]

_ 機械伯爵 [ですので、「実は楽しいんだよ」という言葉は、教える側に取っておいて欲しいわけでして(笑) 「便利」とか「判りやすい」..]

_ まつもと [そりゃ、ずるいですよ。こんな便利な言葉を独り占めしようなんて。 我々言語設計者も負けないくらい虐げられているんですか..]

_ 機械伯爵 [ はい、ずるいです(笑)  でも、多分一番効果的にこの言葉を使えるのって、実際に教える人間だと思うんですけどね(自..]

_ まつもと [マーケティングな人は知りませんが、私自身が「楽しい」を使うのは、それが自分の気持ちを一番良く説明できるからで、目的は..]

[]

2006-11-12

_ [教会] 評議会

朝、軽自動車のエンジンがかからない。昨日のトラブルは単にバッテリーが空になっただけではなく、バッテリーそのものがダメになっていたようだ。 しょうがないので、一台で全員移動。

朝からワード評議会だったのだが、少々遅刻してしまった。残念。

_ [教会] 急遽お話

聖餐会でお話をお願いしていた人が一人を除いて全滅してしまったので、 急遽ビショップリックの二人で対応することに。

いや、残りの一人(実はうちの長女)も、できないかも、とか言ってたのでどきどきしてたのだが、無事「大役」を果たしてくれた。一安心。

で、私とビショップが残りの時間を。準備の時間がゼロなので、結構緊張した。 いくつか聖典を引用しながら、「神の国は近づいた」とかなんとか。 ま、普段、貯えたものしか出せないよね、こういうとっさの時には。

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

岡山でステーク神権会。移動は堪えるが、 それだけのものはあったように思う。

[]

2008-11-12

_ [Ruby] 福岡県が「フクオカRuby大賞」を創設,システムやビジネス,普及への取り組みを募集:ITpro

に関連して、福岡県庁の方が来社。

なんと審査委員長になってくれとのこと。 まあ、審査に協力するのはやぶさかではないけど、委員長、ねえ。

えーと、がんばります。他の委員の人がみんな偉くて萎縮しちゃうんだけど。

本日のツッコミ(全2件) [ツッコミを入れる]

_ 一人のキリスト者 [まつもと様のおかげで、問題の6月14日の記事は、予告.my はい。ざんねん。へと急遽変更しています。 これが真実で..]

_ 一人のキリスト者 [まつもと様。再びのコメント失礼します。私は聖書を心のよりどころにしてきた者です。それに対して宗教を侮辱し、死ねとの暴..]

[]

2010-11-12

_ [Ruby] RubyConf 2010 キーノート(1)

New Orleansで開催されているRubyConf 2010に来ています(執筆時点では既に終了)。

で、今回のRubyConfはキーノートが3つもあるという豪華版でした。 ひとつは1日目最初のDave Thomasによるもの、 次は2日目最初のDavid Heinemeier Hanssenによるもの、 最後が2日目最後の私によるものです。

他のキーノートは、それぞれ感動的で素晴らしかったのですが、 その辺は他の方のレポートにお任せしようと思います。 そのうち、confreaksからビデオも公開されるだろうし。

で、今回は私のキーノートで発表した内容の紹介と その解説をしてみようと思います。

ちなみにスライドはSlideShareにアップしました。

今回のテーマは

  • History (歴史)
  • Future (未来)
  • Diversity (多様性)

でした。Matzにっきでは、これを3つに分けて紹介しようと思います。

今日はまず最初の「History」について。

RubyConfはもう今回で10回目になります。 最初は30人強で始まったRubyConfも、今回は800人を越える規模に成長しました。 っていうか、ここ数年は会場の都合などで500人規模で安定していたのですが、 あっという間にチケットが売り切れるありさまでした。昨年など24時間保たなかったようで、 いけるかな、などと悩んでいるともうダメという状況です。

今回は会場が広かったこともあって、チケットにもだいぶ余裕があったようです。

過去のRubyConfとそこでのキーノートを振り返ると、

2001 フロリダ州タンパ

記念すべき最初のRubyConfです。ACMのカンファレンス、OOPSLAの直前を狙って開催されました。 日本人は3名(私、高橋さん、青木さん)。この年は 911 の年でもあり、 また、フロリダは炭疽菌の騒ぎが起きた場所だったので、まわりに大変心配されました。 テレビのニュースではAnthrax(炭疽菌)という単語が繰り返し登場していました。

あと、フロリダでは父の古くからの知人のお宅にお邪魔したりして、 久しぶり(23年ぶり)の米国訪問は楽しい時間になりました。

この年のキーノートのタイトルは「Human-Oriented Programming in Ruby」で、 Rubyは人間にフォーカスしてるんだよ、みたいな話をしました。原点ですね。

2002 ワシントン州シアトル

2回目のRubyConfはSeattle.rbのお膝元シアトルで開催されました。 この時もOOPSLA直前開催です。 Seattle.rbの面々は、Aaron Pattersonはいなかったと思うけど、Eric HodelもRyan Davisも すでに参加していました。Dan SugalskiがParrotの話をしたのもこの回だったような。

キーノートは「Be Minor, Be Cool」です。 クールなことはマイノリティからくる。 我々は(まだ)あまり知られていないかもしれないけどクールなことをしようじゃないか という呼びかけです。

2003 テキサス州オースチン

この時も(この回まで)OOPSLA直前だったような気がします。 思い出されるのは、RubyConf前に Texus A&M Universityを訪問して Bjarne Stroustrupと時間を過ごしたことです。 個人的に私が C++ についてどう思っているか、ということは置いておいて Bjarneは素晴らしい人格と素晴らしい頭脳の持ち主です。とっても親切でした。

この時のキーノートは「Visions for the Future, or How Ruby Sucks」です。 Ruby 2.0がどうなるか、なんて話をこんなに前からしてたんですね。 M17Nや鬼車、あと定数の検索順序のようなその後1.9で実現されたものもあれば、 ローカル変数のスコープのように、悩んだ挙句結局変更しないことにしたものもあり、 キーワード引数やSelector Namespaceのように、やっと実現のめどがついたものなどが もう7年も前にそうとう詳しく述べられています。

ここで紹介されたアイディアの中にはprivate instance variable(サブクラスから見えないインスタンス変数)のような、秀逸ながら文法が決まらずお蔵入りのものもありました。手元にはパッチもあるんですよねえ。

2004 バージニア州シャンティ

Chantillyは「シャンティ」と発音するようですね。

実はこの回は出席できていないんです。ちょうど末娘の誕生のころで、 さすがに臨月の妻をおいてアメリカへ行くのははばかられました。 この回は、笹田くんがYARVの発表をしています。 非常に好評だったと聞いています。キーノートはObjecive-Cの作者 Brad Cox が してくださったそうです。もっとも Objective-C については全く言及しなかったようですが。

2005 カリフォルニア州サンディエゴ

サンディエゴはあたたかくていいところでした。 ホテルもおしゃれでした。向こうでは、偶然知人のお父さんに会って ディナーをご馳走になったりしました。

この年のキーノートは 「Visions for the Future, or Wild and Weird Ideas」で、 やっぱり未来に向けての「ワイルドなアイディア」について語っています。 keyword arguments, eval, lambda, annotations, traits, namespace, method combination, multilingualization などについて語っていますが、 こんなに昔からいろいろ考えていたのねと感心するべきか、 こんなに時間がたってもぜんぜん手付かずのものがこんなにあるのねとあきれるべきか。

後者なんでしょうね。

2006 コロラド州デンバー

なんかデンバーとっても寒かったです。会期中には雪が降ったし。 ホテルの駐車場でリスがうろうろしていたのが面白かったです。

この時のキーノートは「The Return of the Bikeshed or Nuclear Plant in the Backyard」 というテーマでした。言語設計はとっても楽しいからみんなも参加しようよ、 というような感じです。その後、いろんな人が参加してくれるかなと思ったのですが、 実際にはいまいち盛り上がりませんでした。やっぱ言語設計は敷居が高いんでしょうか。

2007 ノースカロライナ州シャーロット

東海岸です。2004年のバージニアを逃した私には、はじめての東海岸らしい東海岸です。 分類上は2001年のフロリダも東海岸ですが、東というよりも南という印象が強いですね。

この年は「Language Matters or Not」。プログラミングにおいて言語の果たす役割は大きい、 とかなんとか。あと恒例の新機能紹介も入ってます。 その後激論を呼び起こした「->(Stabby Lambda)」が公表されたのもこの時でしたね。 あの時はむしろ反対が多かったStabby Lambdaですが、みんなあきらめたのか 最近では文句をいう人はもうあまりいませんね。計算通り。

2008 フロリダ州オーランド

2度目のフロリダ州です。ディズニーワールドなどリゾート地の印象が強いオーランドですが、 ホテルはかなり世間と隔絶したところにあったので、集中できました。 ちょうど大統領選挙の激戦の最中だったので、「どっちを支持する」とか 真剣に聞かれて困りました。ところでプログラミング関係はリベラルで民主党支持の人が多いようですね。

この年のキーノートは「Reasons behind Ruby」です。 わりと原点に戻ったキーノートですね。Rails世代が増えてきてることを意識したキーノートです。 技術色が薄いので、あんまりおもしろくないと思った人も多かったかもしれません。

2009 カリフォルニア州サンフランシスコ

2009年RubyConfの会場は、シリコンバレーにほど近い、IT業界の中心地サンフランシスコです。 なんかRubyConfの前の日にInfoQが開催するQConでも セッションを持ったりして忙しかった覚えがあります。

この年のキーノートは「The 0.8 True Language」です。 聞き慣れない表現ですが、指輪物語の「One True Ring」を意識しています。 すべてに向いた「One True Language」はなくとも パレートの法則に従い80%をカバーする言語はありえるんじゃないか、 Rubyはそれに近いんじゃないか、とかいうような話です。

2010 ルイジアナ州ニューオーリンズ

今年はニューオーリンズです。実はニューオーリンズは松江市の姉妹都市なんですね。 だからどうということはありませんが、音楽が鳴り響く明るい感じの街で、 食べ物がおいしいのが素晴らしいです。カンファレンスご飯もおいしくて 参加者達がびっくりしていました(大抵は、食べれるけどそんなにおいしくない)。

そして今年のキーノートのテーマは「Future and Diversity」です。

続きは別エントリで。まず Future (≒Ruby 2.0) について、 そしてその次のエントリで Diversity (多様性) について解説します。

[]

«前の日(11-11) 最新 次の日(11-13)» 追記

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.