はあ、自分のもつ思考パターンとの相性が良いことと言われても、それって結局「私、この言語が好き」ってことじゃないですか。
それでは議論がちっとも深まらなくって、(私にとっては)意味がないです。
で、たぶんセマンティックスとシンタックスを別々に考えないといけないんじゃないかと思います。 これを明示しなかったのが失敗だったか。
今の私はシンタックス(記法)のことだけを考えています。 言語のシンタックスがその言語の使いやすさにどのような影響を与えるか、ということです。
ですから、私が「データと関数を区別しない」というのは当然「データの表現とロジックの表現が同じ(S式)」という意味です。nobsunがどう解釈されたのかは知りませんが。
記法の問題について十分に考察した後で、もしかしたら「オブジェクト指向型と関数型のユーザビリティ」のような セマンティックスのユーザビリティの話に進むかもしれませんが、それは未来の話。
追記:
nobsunがきれいにまとめてくださいました。
ところで、nobsunはもしかして「nobsunさん」と表記すべき?
しかし、こんなことをやっている場合では無かった。〆切が3つ、さらに英語のプレゼンの準備までひかえている。 ちょっとあせり気味。
先週は遅刻してしまったが、今週はさらに15分のマージンを取ることにより、 ちゃんと間に合ったぞ。...当り前のことなんだが...
司会。今日も緊張した。 特に今日は長女が聖餐会で初めて話する日だったし、 そのすぐ後には今度は妻がお話だし。
今週、教会の鍵が付け替えになった。 最近はやりのピッキングに強いものに交換ということだったらしい。 おかげで古い鍵の回収と新しい鍵の配布が必要であった。 いままでルーズな管理になりがちだったので、今度は 鍵の引き渡し書類を用意し、誰が何本鍵を持っているかを確認した上、 複製しない、紛失したときには直ちに連絡、を徹底した。
ハードウェアが不調であった beryllium.ruby-lang.org のリプレースも完了し、 とうとうwww.ruby-lang.orgがリニューアルされた。
なんかすごいかっこいいぞ。 ずっと昔の手でHTMLを組んでた頃のものと比べると雲泥の差だ。 tDiaryも良かったけど、エントリのURLが日付(のような数字列)になっちゃうのが CMS的でなかった。まあ、tDiaryとしたら目的外の流用なわけで、 「そんなこと言われると困っちゃう」といったところだったろう。
いずれにしてもそのような点についても解消された。
今回はRuby on Railsで実装されたCMS、 Radiantを使っている。
英語版の方が情報が多いので、 時間に余裕があって、英語が苦手でない人は そちらも参照していただきたい。
リニューアルに関った多くの人々に感謝したい。 特に前田くんとリーダーを引き受けてくれたJohn W. Longに。
あ、そうそう。韓国語版とかも計画中。
携帯電話の限られた資源の中で効率的に復元できるということらしい。 あと、復元と同時にバリデーションもできるとか。
でも、今なら携帯でもzip解凍ルーチン積んでるだろうし、 そんなにうれしいのかなあ。
戸松さんのブログ。動的言語支援用にJVMに最近追加される決まったinvokedynamicは要らない、という話。
Pnutsがやっているようにちゃんとメソッドキャッシュを使えば(遅い)リフレクションを使って メソッド呼び出しをすることはほとんどないから性能には関係ない。 しかも、(Pnutsには)invokedynamicを使ったのでは呼び出せないケースもある、 ということのようだ。
まあ、確かにIronPythonも同様の技術でCLR上で速度を出したんだものなあ。 JRubyの連中がいろいろな成果をあげて、Sun本体に動的言語実装のテクニックを蓄積してほしいものだ。
というか、戸松さん自身がSunなのに、どうして伝わってないのかな。 「サン・マイクロシステムズ」と「Sun Microsystems」では違うということなのだろうか。
Curlの開発環境がとうとう無償になった、という話。
これを「イヤな流れ」ととるか、「起死回生の一手」ととるか。
Curl頑張れーっ。
朝から東京へ移動。 MySQL Users Conferenceへ。
私はMySQLを尊敬してはいるが実際に使ったことはないので、 この話が来た時に断ろうと思ったのだけど、 ちょっと断れないコネクションで依頼されてしまった。
が、MySQLの「素晴らしさ」については、 きっと会場のユーザの方々の方がよくご存じなので、 しょうがない「オープンソース」の話をすることにした。
スウェーデン大使とか企業のえらいさんの挨拶が続いて 私の番が来た時にはセッション終了予定時刻まであと5分であった。 スタッフに「5分でいいですか?」と聞いたら、 「予定通り20分は話してください」とのこと。がっくり。
しかも、「堅い話が続いたので場を盛り上げてください」とのこと。 えー、そんなこと言われても。プレッシャー。
ま、何を言われてもできることしかできないわけで。 いつものようにユルいプレゼンを。それなりにウケた、のかな/
しかし、会場の同時通訳には素晴らしいものがあった。 実はプレゼンしながらイヤホンも付けて英語通訳も聞いていたのだが、 正直、訳すのが難しい部分も ちゃんと翻訳していた。通訳を聞いている人が(やや遅れて)ちゃんと冗談に反応するところが感動。
あと、DHHの名前はやっぱり発音しにくそうだった。
で、出番はこれで終わりではない。
私の所属するネットワーク応用通信研究所と スマートスタイルが NaClとスマートスタイル、「Ruby + MySQL」のソリューション事業で協業するということで、 いろいろと発表。
Rubyに強いNaClとMySQLに強いスマートスタイルで補完関係を構築しようということ。
先日のITpro Challengeで私が帰ってから行われたLTのひとつ。
チケット駆動開発というのは、増井さんのところでも語られていた。 やっぱ、記録という観点からも、意思疎通という観点からもこういうの 必要かもしれないなあ。
Ruby開発でも導入するかなあ。 なんども挑戦しては失敗してるんだけど。
今月の日経Linuxの連載のテーマは「アクター」である。
で、サンプルなしに説明できるようなテーマではないので、 今回取りあげる
のそれぞれで同じことをするサンプルプログラムを用意する。 って、実は割とありふれたpingpongプログラムだけど。 ただし、出まわってるのでは、微妙な処理が違うので、 RevactorとErlangについては結局新作になった。 Dramatisはサンプルそのまま。
で、久しぶりにErlangでプログラムを書いたら、 コンマとかセミコロンとかピリオドとかの使い分けが分からず(あとif文)、 エラーが頻発した。もちろん筋の通ったルールがあるのはあるのだが、 Rubyのような言語に馴れた身としては、 「そんなところ使い分けなくてもいいじゃん」と思わないでもない。
あと、Erlang、Revactor、Dramatisそれぞれの仕様の違いが 明確になるのも面白い。一番興味深いのはDramatis。 一番高速なのはErlang(pingpong例題では)。 Revactorは今後に期待。でもMongrelをアクターベースで動かすと スレッドベースよりも高速らしい。
アクターベースのノンブロッキングアクセスでNeverBlock同様の性能改善が 実現できるというならばそれはすばらしい。 ちゃんとベンチマークしなくちゃいけないけど、 今回の原稿にはベンチマーク結果は間に合わないみたい。残念。