えー、三連休の初日ということで家族サービス。 この夏は寒くて泳ぎにも行かなかったので、プールへ。 子供たちは泳いだり、ウォータースライダーで遊んだり。 私は基本的にお湯につかっていた。
〆切前にこの余裕の行動は...そうです。逃避ってやつです。
レポートは提出した。
私は「Lispのマクロ」が悪だなんて言いません。あれはあれで便利なものです。
でも、「普通の人」に対するユーザビリティを下げる可能性があるとは思います。 だから、「普通の言語」には要らないかもしれない。
要はトレードオフですよね。使いこなすのが難しいが強力なものを目指すか、 普通の人が普通に使うぶんには使いやすいものを目指すか。
私は、Lispを研究することで
などを知りたいと思っているだけで、Lispがだめとか、Lispを変えようとか思ってるわけじゃないです。
だからLisp好きは自分の立場を擁護する必要はありません。
もう11月とは。今月は「Webアプリケーションの基礎(その2)」。 HTTPの復習とかFORMの使い方とか、セッションとか。
あと、Webアプリケーションフレームワークの入門についても書くつもり。
とはいえ、今月は(今月も?)とりかかりが遅いので、ちょっとあせってるのだ。 つい、逃避行動で人狼BBSのログを眺めたりなんかして。 狼の声や墓の声を消して、一緒に推理したりすると臨場感いっぱいに楽しめる...って、なにやってんだ。
えー、先日Web日記デビューを果たした息子ですが、とうとう書いたようです。 とはいえ、非常に内輪うけなのでURLは公開しません。
弟やら親*1から、 初ツッコミをもらってはしゃいでいる息子であった。
*1 息子にしてみれば、おじさんやらおじいさんやらになるわけですな
MicrosoftがEric Raymondをリクルートしようとしたが、 あっさり断られてしまった、という話。
Ericを教祖と呼ぶのはちょっと違う感じ。原文はどう表現してるんだろう。 ITmediaには原文へのリンクがない。
教祖といえばStallmanの方がずっと雰囲気が出ているけど、 Stallmanのことを「オープンソースの」教祖と呼んだらきっと彼は激怒するだろうな。
でも、Ericに限らず海外ではオープンソース開発者がリクルートの対象になる話はときどき耳にする。 言語設計者は例外だけど。
ところが日本ではあまりそういう話を聞かない。 まあ、オープンソース開発者そのものがたくさんいないって話もあるが。 でも、高林くんや小松くんがGoogleにいったのはオープンソース開発者だからかもしれないなあ。
1997年にこっちに来て以来、 私に対してリクルートの話が来たことはない。一度もない。 日本企業(いや、別に日本企業じゃなくてもいいけど)にとって、 少々名前の売れた開発者ていどはそんなに欲しい存在ではないということなのか。
まあ、声かけてもらっても、転職しないとは思うけど。
うちの奥さんは海外生活が夢なので、 海外から数年働かないかという話が来たら、喜ぶかもしれない。
先日のサイトリニューアルの件が日経ITProに掲載された。
正直、「こんなことまでとりあげられるの!?」という感じだが、 それだけRubyが旬ということなのだろう。
できることならば、ブームは去っても「そういえばそんなのあったよね」などと 言われてしまうようなことがないようにしたいものだ。
quilt.elの件でEmacs Lispを調べている時に見つけたEmacs Lispライブラリ。
mwheelはマウスホイールのサポートを行うライブラリ。
大抵のマウスはスクロールホイールの上下をそれぞれボタン4とボタン5に割り当ててくれるから .emacsの中に以下のように書いておくと、ホイールでスクロールができる。
(define-key global-map [mouse-4] 'scroll-down) (define-key global-map [mouse-5] 'scroll-up)
しかし、これでは現在のマウスカーソルの位置は意識してくれないから、 ウィンドウを分割している時に現在のテキストカーソルがあるウィンドウで スクロールが発生することになる。 (特にWindowsでは)ホイールは現在マウスカーソルが入っているウィンドウをスクロールしてくれる ことが多いので、これはあんまり嬉しくない。
そんな時にはmwheel.el。.emacsに以下のように書くだけ(Debianではパスの設定やrequireは要らない)。
(mwheel-install) (setq mouse-wheel-follow-mouse t)
これで他のGUIアプリケーション同様、現在マウスカーソルがあるウィンドウをスクロールしてくれる。
あと、マウスカーソルとテキストカーソルが近すぎるとなんか邪魔な気がするのは 私だけではないはずだ。そんな時にはmouse-avoidance.el。
(if (display-mouse-p) (mouse-avoidance-mode 'exile))
これを.emacsに付けておくだけで、マウスカーソルとテキストカーソルが近くなりすぎると マウスカーソルの方がよけてくれる。よけ方には何種類かあって
個人的にはexileが好みだが、animateも面白い。
Joel Spolsky、ふたたびRuby(のパフォーマンス)について語る。 結局は「だって遅いじゃん、コンパイルできないし、動的だし」という話。
このことの受け止め方はそれぞれだと思う。
たとえば、SeasideのAvi Bryantは「HREF Considered Harmful: Ruby and Strongtalk」において、
と反応している。ま、それは言える。LispもSmalltalkも長年の投資で それなりに高速化されている。場合によっては、通常コンパイル型言語と呼ばれることの多い 静的型言語よりも高速なケースもあるくらいだ。
DHHも反応している。「Outsourcing the performance-intensive functions (Loud Thinking)」で、
といった感じか。ごもっとも。私の以前の反応とも対応している。
まあ、Webサービス(ASP)的なBasecampと 結局ユーザサイドにインストールされるJoelのところのFogBugzでは 前提が違うのかもしれない。
また、ウサギ(C#)とカメ(Ruby)にたとえたブログエントリもあって面白かった。
さて、私自身は大規模なシステムやたくさんのユーザがいるシステムをRubyで組んだことはないので (我が社には何人もいるけど)、エンタープライズなRubyについて語っても説得力はないのだが、 この件で感じたのは、JoelがRubyについて少なくとも検討するだけは真面目に考えた、という事実だ。
つまり、(ソフトウェア開発に関して私と趣味・趣向・思想が全く異なる)Joelでさえ、 検討に値するほどRubyがメジャーになったということだ。 だって、ここに名前が出る言語っていったら他にはC#, Java, PHP, Pythonくらいなもんだよ。
思えば遠くに来たもんだ。ここまで来れたことを考えたら、 Joelが実際にRubyを使おうが使うまいがそんなことは小さいことに思える。
ベンチャー企業「ウェブツーポイントオー」がRubyを選んだ理由。 簡単に言うと「とんがった個人が利用してばりばり生産性をあげちゃったから」。
ま、Rubyが採用される、あるいは強みを発揮できるケースってのは 結局そんなものかもしれない。
しかし、Rubyが広まるにつれ今度は「ほんとはJavaで開発したいのに、業務命令でしぶしぶRuby案件を開発する」なんて人も数多く出てくるんだろうなあ。なんか現在なら代わって欲しい人が続出しそうなシチュエーションだけど。
ついつい後回しになっていたModelingForumのスライド作成。 前日だっていうのに大丈夫か(だって忙しかったんだもん)。
「モデリング」なんてやったことないので、 かなり場違いな感じがするが、 「なにを話しても構いません」と言われたので、 開き直って全然関係ない話をしようと思う。
最近、エンタープライズとかビジネスそういう話ばかりなので、 いっそ思いっきり「言語おたく」全開の話をしよう。
Guido van Rossumが「GIL (global interpreter lock)を取り除いてくれ」という公開メールに 対して「言うほど簡単じゃないんだよ。以前やってみた時には大幅に遅くなったし」と 返事した、という話。
それはYARVでも同じこと。1.9になってもlockが無くなる予定はない。 理由もほぼ同じで、
という状況でそう簡単にGILを消去できるとは思えない。 Guidoじゃないけど「じゃあ、まず自分でやってみて」と言いたい気持ちは分かる。
一方、JVM上のPythonであるJythonにはGILは存在しなくて、 「同一マシン上であればParallel Pythonよりも高速」だったりするわけだが、 これはJavaの場合、基本的ライブラリがthread safeであると確信できることが大きいんだろう。
あと、JVMの実装が優れているというのもあるだろうけど。
ここでJythonでできてるんだからCPythonでもできるだろうというとは 短絡的すぎる。
ささだくんインタビュー。
そういえば、ささだくんってこれまであんまり自分のこと語ってないよね。 私なんかあちこちで自分のこと吹聴しまくってて 個人情報漏れまくりなのに。
大変面白かった。
構文木を参照することでSQLを生成するライブラリAmbitiousの続報。 高速化、個別DBMS対応(MySQLとPostgreSQL)、gitによるリポジトリ公開など。
引き続き注目していきたい。あと、1.9でこれらがどうなるかについては 我々が考察せねばなるまい。構文木ってなくなっちゃうよねぇ。
韓国では「韓国人は英語が苦手だからオープンソース利用が進まない」と言われているが、 韓国人よりもさらに英語が苦手な日本では結構進んでいるのではないか、という話。
でも、韓国で「オープンソース利用が進んでいない」という印象はあまりないんだけど、 韓国内にいる人はそう思うのかな。少し前まではWindows全盛という話は聞いていて 政府や大企業のサイトがActiveX使いまくり(なのでWindows以外ではネットバンキングも 政府サイトアクセスもできない)という状況だったそうだけど、 今ではずいぶん改善されているんで無かったかな。
各郵便局に配置されているという公衆端末はLinuxらしいし。
しかし、そんなことよりなにより印象に残ったのはここ。
日本だって英語が苦手な人が多いのに、韓国のマスコミの報道によると5000人以上のOSS開発者がいるという。韓国では100人にも満たない。
確かに韓国発のオープンソースソフトウェアについて聞いたことはないが、 それは言語の壁に遮られているせいだと思ってた。
国全部で100人以下? マジで?
どういうことだろう? 確か韓国って3千万人くらい人口があるんだよね。
利用が進むのは勝手だが、利用ばかりで開発に回る人が少ないのは あんまり望ましいことではないなあ。
ブースを見て歩く。
松江商業高校のブースでは、 地元産品のネット販売サイトの紹介。 先日、Rubyを教えると報道された松江商業であるが、 サイトはPerl CGIで構築されているとのこと。
売り子の高校生たちは(Rubyバッチをつけていても) Rubyのことも、私のこともあんまり認識してない模様。
ま、しょうがないか。
Joomlaのブース。
非常に熱心に広報活動をすることが目立っているCMSである Joomlaであるが、そんなに宣伝するわりに、 どこが優れているのかピンとこないので、直接聞いてみることにする。
が、やっぱりわからなかった。
テキストエディタなしに設定・管理・操作ができることを 示されたが、それって別に珍しいことではないよね。 特に特別な機能や概念があるわけでもなさそうだし。 性能上の差異があるようにも感じられなかった(PHPだしな)。
ブースの担当者からは「エンジニアの方ですか」と尋ねられ(やっぱり認識されてない)、 「Joomlaは非エンジニアにも使いやすくなってます」とのこと。 要するに、エンジニアたる私にはわからない良さがあるのであろう。
でも、それっていったいなんだろう。
もうちょっと客観的な「良さ」の表明が欲しかったなあ。