朝から東京に移動。パシフィコ横浜に着いた時点で最初のプログラムは終了していた。 参加した各プログラムはほぼ満席。150名程度の出席があったようだ。
弁護士や官僚に囲まれて、実際の開発者の立場から。 まあ、好き勝手なことをしゃべりまくったのだが、まとめると
というようなことかな。スライド。
長崎、岐阜、沖縄でそれぞれオープンソースを利用した取り組みについて。 3県ともそれぞれの取り組み方が違っていて興味深い(長崎は県庁が直接、岐阜は財団法人経由、沖縄はNPO)。 まだ、オープンソースを利用するだけのレベルだが、まあ、最初はそれでよいとは思う。
ところで、「地場のITニーズを地元で満たす」というのがいずれの県も基本方針のように思えたのだが、 実は「よそ(特に東京)から仕事をもってくる」という視点の方が有効じゃないのかなあ。 すくなくとも、うち(ネットワーク応用通信研究所)ではそうしてるけど。
追記: メディアによるレポート。
個人的印象につっこんでも仕方ない気もしますが、
ソフトウェアを特許の適用外にするというのも(世界の流れから見て)非現実的。というのは違和感ありまくり。「世界の流れ」じゃなくて、「アメリカとイギリスの流れ」の間違いでは?
というフォローをいただく。
まあ、日本(だけじゃないけど)はアメリカの影響を強く受けていて、無視できないってことがあるんで、 「アメリカとイギリス(もそうなの?)の流れ」というのは確かなんだけど、 むしろ問題にしてたのは「ソフトウェア特許」という言葉が指しているものが本当はなにかということ。
私が聞いたことが正しければ、 (少なくとも日本では)特許のクレームに「ソフトウェア」と書くケースはほとんどなく、 実際には「方式」とか「システム」という言葉で表現されているはず。 ソフトウェアというのはその実現手段のひとつに過ぎない。
とすると、「ソフトウェア特許」の定義とは本当はなんなのか。
で、前提として「特許制度そのものを無くすことは現実的でない」とすると (ここまで特許制度を否定する人はあまり多くないようなので)、 特許の保護となる対象である「アイディア」のうち、 どのようなものを「ソフトウェア特許」とするのか 特許の法制度に沿った「言語」で表現するのは非常に困難ではないだろうか。
我々の視点からは「(ハードウェアを含まない)ソフトウェア開発の障害になる特許」と言いたいところだが、 私の目から見ても、いくらなんでもそれは適切な基準でないだろう。
だからこそ、今回のEUの決定は「ソフトウェア特許」という言葉でなく、 インタフェースやプロトコルは特許の対象にしないという判断だったと理解しているのだが。
日本にいると海外の特許事情はなかなかわからないので(というか、国内の事情もあんまりわかってないのだが)、 おくじさんなどからEUの「実情」を聞かせてもらえることはありがたい。
宿泊はもともと泊まるつもりだった東横インをツインに変更して。 意外と快適。テレビで『オーロラの彼方へ』(だっけ、タイトル忘れちゃった)と『ザ・コア』を見る。 が、どちらも半端にしか見れなかったので、また今度見よう。
[ruby-dev:27399]で、 『ハッカーのたのしみ』が紹介されていたので、 いつか読もうと思っていたが、松江では入手できない。 一度だけ見かけたときに捕獲しておくべきだったな。
先週東京に行ったときにも見つからなかった。 が、東京オフィスに実物があったので眺めてみた。
なかなか良い本のようなので購入を決意して、Amazonで購入した。
しかし、実物を見たときからわかっていたことだがこの本はなかなか「低レベル」で、 読むのがつらい。「低レベル」といっても、デキが悪いわけでも、 初心者むけというわけでもなくて、要するに「マシンに近い」ということ。
どうも普段やってることが言語処理系なんてマシンから遠いところにいるせいか、 このような「低レベル系」が苦手だ。
実は先日来『Write Great Code』という本の監訳しているのだが、 これも低レベルで大変だった。良い本なのは確かなのだが、 私がお手伝いできたのは文字コードに関する部分がほんのわずかだけだった。 監訳料はお断りしないといけないかしら?
RubyがLispの良い点を継承しているので、 「受け入れられる」Lispになるかもしれないという話。 来月発行の「ハッカーズライフ」を先取りされたようなネタ。
具体的には
点を取りあげている。前者についてはブロックによる簡潔な高階関数が紹介されている
Lisp:
;; Call 'fn' once for each natural number.
(defun each-natural-number (fn)
(loop for n from 1 do (funcall fn n)))
;; Print 1, 2, 3...
(each-natural-number
(lambda (n) (format t "~D~%" n)))
Ruby:
def each_natural_number(fn)
n = 0
loop { fn.call(n += 1) }
end
each_natural_number(lambda {|n| puts n })
または
def each_natural_number
n = 0
loop { yield n += 1 }
end
each_natural_number {|n| puts n }
実用的なマクロについては、ブロックやリフレクション(たとえばRailsが使っているような)DSL的表現によって提供できると述べている。
しかし、案の定Lispファンから反論が来ていて
Ruby is not Lisp. A Lisp is a Lisp because it’s code is represented as its basic data structure.
RubyはLispじゃない。Lispはコードが基本的データ構造で表現されているからこそLispなんだ
だそうだ。ごもっとも。
しかし、あらかじめ予想したようなエントリがあった。
「Power vs Popularity」では、 「確かにLispの方が強力だ(マクロあるし)。では、なぜRubyがはやって、Lispはマイナーなままなのか? また、人気とパワーのトレードはどのくらいが適切か?」について、自答している(作者はLispファン)。
で、結論は要するに「Rails」ということらしい。つまり、Lispにはなんでもできるパワーはもっているが、結局自分でLisp on Railsを作らなくちゃいけない。そんなことしたくないから、Rails(とそれを使うためにRuby)を選んでいるわけだ。
「どこまでできるか」という可能性よりも、「今できる」という現実の方が人気に直結するということらしい。言語屋としてはちょっとさみしい結論だな。
_ kyuppon [ではRails以前はどうなのでしょう?なんて誰でも 思いつくツッコミでした。 難しい理屈なしで素直に使えるから? な..]
_ まつもと [多くの人にとってはRails以前のRubyは「存在しなかった」のと同じなんでしょう。 少なくともLispと同程度には..]
_ wan [Lisp on RailsがあればLispを使う人が増えるんでしょうか。 Lisp on RailsがないのはLis..]
_ まつもと [「Lisp on Railsがあれば」というのは面白い思考実験だと思います。 どうもLisp派はそう思っているみた..]
_ 通りすがり [私自身はLispファンなのですが、大衆受けしないのは言語全体が均質的すぎて最初の離陸が難しいから、という印象がありま..]
えーと、物書きにあるまじきこと、と言われそうですが、 私、「年末進行」なるもののこと、すっかり失念しておりました。
正直、普段の月よりもずいぶん早く原稿の催促を受けて、 少々パニクっております。しかも、先月のうちに考えていたテーマについて、 いざ書こうと思ったら、全然筆が進まない、という。
悩んだ揚げ句、当初考えていたのとはまったく違ったテーマになった。 今月は「バージョン管理」。RCSとかCVSとかSubversionとかgitとかの話。 ここ数ヶ月Rails周辺について話してきたけど、 正直、ちょっと飽きてきたので。まだ、Rails本体の話になってないのに。
我々が子供のころには、コンピュータ(「マイコン」と呼ばれていた)は、 まだなにもできない存在で、私と同世代は、 その上でBASICでASCIIキャラクタを動かして 「ゲームのようなもの」を作ることでプログラミングを学んできたと思う。
しかし、今はそんなことはできない。コンピュータはチープなものではなくなり、 プログラミングの対象ではなく、道具に成り下がってしまった。 私の子供はコンピュータのユーザではあるがプログラマではない。 プリインストールされているソフトウェアが提供してくれている処理を使うことはできても、 コンピュータをコントロールすることはできないし、新しい可能性を切り開くこともできない。
が、リンク先のエントリの
ということはつまり、今チープな作品に出会える場を探すとすると、 技術的な制約があるなど何らかの理由で 「へぼくても許される感」が残っているところにこそ、 チープ教育の素地があるのかな、と思います。
今の学生は、作品を作ることにおいて、 「無意味なポジティブさ」を何から学ぶのでしょうか。 携帯電話の制限された環境の中でちっちゃいゲームを作るのもいい。 ブログも文章作品のチープ教育に一役買っているような気がします。 YouTube や iMovie や携帯についたビデオカメラは、 映像作品のチープ教育を手助けする可能性を秘めています。 チープ教育の芽は、探せばまだいたるところにありそうです。
というのは、希望が持てた。 チープ教育の「場」の提供。これはプログラミング教育における新しい視点かも。 知ってる人にとっては「とっくにわかってるよ」ってことかもしれないけど。
なんと、世界初のeRubyに関するカンファレンス...、 ではなくて、 エンタープライズRubyカンファレンスなんだそうだ。
Bruce Tate (『Beyond Java』の人。元Javan)、 Jim Weirich (Rakeなどの人。元Smalltalker)など 有名人がスピーカーに並んでいる。
2007年2月9日から11日まで、オハイオ州コロンバスで。
ちょうどその頃アメリカにはいるんだけどなあ。 オハイオはシリコンバレーからは遠いよなあ。
_ hyoshiok [Enterprise Rubyというのがいいですね。わたしの脳内プロジェクト(妄想のこと)としてはSMPスケーラビリ..]
_ 鈴木 豊 [チープ教育、大いに結構です。逆に今の若者は、恵まれた環境で損をしていると思います。言い換えると、楽な環境を最初から得..]
_ 凡人 [Rubyがチープというわけではありませんが、私は、RubyをCygwin上でコンパイルして、いろいろと勉強させていた..]
_ まつもと [ありがとうございます。 「本当のThread」がどんなスレッドか分かりませんが、Rubyのスレッドも並列処理の概念が..]
_ YOUsuke [マイコン使ってロボットをいじったりしてると、こういうのもチープ教育かもなと思いますね。]
_ 凡人 [まつもと様、ご回答いただき有難うございました。 まつもと様のご教示の通り、Threadの勉強については、Rubyの仮..]
朝から出雲空港→羽田空港→東京駅→新潟。
新幹線「とき」は今は珍しい零系と同じ顔をしてる(っていうか零系そのもの?)。
新潟は寒い。松江の早朝くらい寒い。いや、もっとか。
移動中もついてからも、PCをごそごそといじる。 とりあえず、スライドとMagicPointは動くが、 まだ設定がおかしいので、あちこちいじる。
今回はGNOMEを使ってるんだけど フォントサイズが大きすぎたり、小さすぎたり。 ほしい機能のアプレットがなかったり(メーター好きはいろいろつけたいのだ)。
で、伊藤忠の菊池さん、私、RBCの最首さんの順で発表。
聴衆はわりとおとなしめで、スーツの人が多かったけど、 どのくらい役に立ったのかしら?
懇親会の二次会にも誘われたけど、 夕べ徹夜で頭が痛くなっていたので、 残念ながらお断りした。なんか、いいジャズを聞かせてくれる店だったらしいんだけど。
で、ホテルの部屋で寝るかといえば、 そんなことはなくて、ネットつなげて 設定したり、コーディングしてたりするんだけど。
This work is licensed under a Creative Commons License.
_ 立山義祐 [>私が聞いたことが正しければ、 (少なくとも日本では)特許のクレームに「ソフトウェア」と書くケースはほとんどなく そ..]
_ 立山義祐 [>どのようなものを「ソフトウェア特許」とするのか特許の法制度に沿った「言語」で表現するのは非常に困難ではないだろうか..]
_ ysk777 [会場で声をかけさせていただいた米子市出身者です。 自サイトから、UTF-8でTrackBackにPingを投げてしま..]
_ kjana [「装置」ということで出願すれば、とあるアルゴリズムをハードウェアで実現しようが ソフトウェアで実現しようが構わないか..]