«前の日(04-26) 最新 次の日(04-28)» 追記

Matzにっき


2004年04月27日

_ [会社][OSS]転職物語

かずひこさんがディスクロージャされたようだ。

まつもと(とNaCl)はオープンソースにかかわるというかずひこさんの人生の選択を応援します。 また、その他の多くの人が自分の希望に沿った人生を歩むことができるようお祈りします。

転職物語なんてページも出来つつあるようです。 そういえば、私も過去の転職の時には右往左往したもんだなあ(遠い目)。

今は引っ越しひとつで大騒ぎ。

_ [OSS]yaccの弱点(その3)

shiroさんとakrさんから「ANTLRならできる」とのが。

しまった、例によって調査不足であったかANTLRはJavaが必要なので避けてたんだよなあ。 btyaccについても十分理解してなかったし。

まあ、ツールが使えるなら手書きの再帰下降パーザよりはマシか。もうちょっと腰を据えて調べてみるか。


2005年04月27日

_ [Ruby] Ruby is the "Most Loved" programming language

以前にもあった、Googleで「"i love x" programming」と「"i hate x" programming」とを検索して、 LOVE/HATE比を出す、というお話。ここで「x」にはRuby, Java, Pythonなどが入る。

LanguageLoveHateRatio
Ruby1,45013111.54
Python1,3304628.91
Smalltalk57319.00
Perl1,7204264.04
Lisp185772.40
Java2,6801,3501.99
C8725061.72

なんと、Rubyはダントツの一位。ま、しょせんお遊びだけど、それでも嬉しい。

_ [Ruby] 訃報x2

宅急便で献本が届いた。『恋するプログラム〜Rubyでつくる人工無脳』。

著者の秋山さんからは正月にメールをいただいていて「献本したい」とのことであった。 ようやっと完成したということだ。まだ読み込んでいないが、なかなか良いテーマで書かれた本だと思う。

が、しかし、編集の方から連絡があって 「秋山さんは2月18日に亡くなられました」とのことだった。著者紹介の欄にもそう書いてある。 36歳、クモ膜下出血だったそうだ。 まだ若いのに。自分とほぼ同世代でまだまだ若い人(しかもRubyユーザ)が亡くなるのを聞くのは切ない。

また、先日の尼崎の列車脱線事故の被害者の中に石井 勝さんがいらっしゃったのだそうだ。彼とも直接面識はないが、彼を通じてRubyを知ったという人も多かったようだ。 彼もまた同世代(37歳)であった。

彼らの魂よ安かれと祈る。

_ [Ruby] スクリプト言語人気に思う,動的型付け言語の可能性

「動的言語ってばけっこういいじゃん」ってお話。

Javaのような厳格な言語を自在に使いこなして大規模な企業システムをバリバリと作っている技術者の中にも,スクリプト言語ファンは多い。彼らを惹きつけるものは,いったい何なのか。

Rubyを愛するそんな技術者のお一人に,この疑問をストレートにぶつけてみた。その方いわく「とにかく楽なんだよなあ,Rubyでプログラミングするのは。なんでだろう。よく分かんないなあ」。

この言葉を聞いてはっとした。この一言に,スクリプト言語が持つ魅力が凝縮されているように感じたのだ。言葉にできない何か,感覚的な「楽」さ。それこそが,スクリプト言語人気の根底にあるパワーなのではないか。

パワーなんです。

八木さんからは先日の「日経バイト」の特集のためにメールでインタビューを受けていて(ちゃんと献本していただいた、感謝)、その内容がここでも再利用されている。 あ、そのインタビューの中では動的言語のデメリット(型がないから実行してみないと分からないとか、プログラムを見ただけでは何を渡してよいか分からないとか)についても触れていた。記事には使われなかったけど。

まあ、こういうところで紹介されるというのは動的言語がメインストリームに近づいてきたということなのだろうか。10年時代を先行していたということか。そんなこと言ったらLispなんか40年時代を先行しているわけだけど。

_ プロポーショナル? 固定ピッチ?

あまり登録した記憶がないメールマガジンが送られてきた。 忘れているだけできっとどこかでアドレスを渡したのだろう。

しかし、妙な記述が。

このメールマガジンは、日○○○○主催または協賛の展示会やセミナーに
(Webセミナーを含む)にお申し込み・参加された際に、情報提供について
ご了解いただいた皆様にお届けしています。
このメールはプロポーショナル「固定ピッチ」でご覧ください。

えーと、つまり要するにフォントはなにを使えと。 「プロポーショナル」で「固定ピッチ」などと自己矛盾するフォントは持ってないっす。


2006年04月27日

_ 赤いポッチ

愛用のThinkpadのポインティングデバイスは トラックポイントと呼ばれ、これが機種選定の大きな理由になっているわけだが、 黒い筐体の真ん中に赤いゴムキャップが大変印象的である。

いや、印象的だから選んだんじゃなくて、 最近のノートパソコンに使われているあのパッドがダメだからなんだけど(ほんとはトラックボールのほうが好き)。

で、このゴムキャップ(うちでは「赤いポッチ」と呼ばれている)が末娘の攻撃対象になるのだ。

しばしば、トコトコとこちらの方に歩いてきて、 「はいっ」という感じでなにかを手渡してくれる。 赤いゴムキャップだ。

あるいはテーブルの上においてあるThinkpadを操作しようと ふと見るとキーボードに赤い「例のモノ」が付いてない。

末娘に「赤いポッチ、どこにやったの?」と尋ねると わかっているらしく、どこからか持ってくる。

幸いなことにまだなくしたことはない。

_ おかーたー

もうひとつ親馬鹿エントリ。

14日には、末娘がSkypeで私のことを「おとーたー」と呼んでくれて 嬉しかった覚えがあるのだが、最近はすっかりそんな風には呼んでくれなくなった。

いつもいつも「おかーたー」である。

おかしいのは、妻だけでなく、 私や姉たちに対しても「おかーたー」と呼んでいる。

どうやら、「お願い」というような意味で使っているらしい。


2007年04月27日

_ [Ruby] NullPointerFactory: Open letter to the Ruby Santa

4月のブログコンテストのエントリを勝手に批評するシリーズ(その3)。

「良い補完付きのIDEが欲しい」というもの。言語そのものとは直接関係ない。

IDEについては、NetBeansが頑張っていることは知られているわけだが、 Eclipse系でも

と結構な動きが出ている。Rubyのプレゼンスが上がるにつれ、 もっと良いものが登場して来るんじゃないかな。

_ [Ruby] DevDanke: ruby-improve

4月のブログコンテストのエントリを勝手に批評するシリーズ(その4)。

現在のブロックコメント(「=begin」から「=end」まで)に変わる新しいものを導入しよう、というもの。 提案されているのは「#*」から「*#」。

個人的にはブロックコメントの必要性はあまり感じていない。 ツール(たとえばEmacsのruby-modeでのruby-encomment-region)で 簡単に対応できるからだ。

たとえ導入するにしても記法はよく考える必要がある。 少なくとも「#*」では既存のコメントに重複するものがありそうだ。

_ [Ruby] djberg96: What would I change about Ruby?

4月のブログコンテストのエントリを勝手に批評するシリーズ(その5)。

ruby-talkの常連djbergによるもの。たくさんある。

  • Native thread support. Huge. Especially for embedding and extending the language.
  • SMP support - no giant interpreter lock. Also huge.
  • Unicode support, including the ability to parse some Unicode mathematical notation, ala Fortress.
  • Asynchronous methods.
  • Better regex engine.
  • AOP support (pre, post, etc).
  • Implicit getters and setters.
  • Refactor some of the core classes. Some methods are overwrought, and some are useless.
  • Behaviors (as per the Sydney definition).
  • Better project management. That means dealing with bug reports, patches, and RCR's in a timely fashion instead of letting them sit for years (or not responding at all).
  • Optional static typing, as a Behavior.
  • Transactions.
  • Atomic expressions.
  • Fine grained mixins.
  • Named parameters.
  • Make def return a (improved) Method object.
  • Anonymous methods via 'def'.
  • New parser. Goodbye yacc.
  • Structured warnings.
  • Class.aliased_methods.
  • Different License.
  • Better Proc/proc integration.
  • Make Windows NT a first class citizen. Drop support for Windows 95/98/ME/cygwin/mingw.
  • Along those same lines, limit support to production platforms, instead of trying to support every OS under the sun. That means MS Windows, Solaris, Linux, FreeBSD, AIX, HP-UX, and OS X. This will reduce maintenance and simplify the build process considerably.
  • Continuous integration on supported platforms so that we don't have to rely as much on preview releases to smoke out bugs.
  • Replace the autoconf based configure with something cross platform ala Perl's build script.
  • Much more thorough test suite.
  • Better documentation.
  • Include several RCR's from rcrchive.net - too many to list here.
  • Improved standard library:
    • Remove the Japanese specific libraries.
    • Remove the rarely used or outdated libraries (abbrev).
    • Integrate some libraries into the core classes (io-wait).
    • Remove Unix specific libraries (dbm, sdbm, gdbm).
    • Replace some libraries (getoptlong, etc, csv) with better/cross-platform versions.
    • Refactor/redesign existing libraries that need it (net-http).
    • Add new libraries that I feel would be useful to a wide audience (kirbybase, dbi).

Maybe

  • Traits.
  • Type inferencing (as a Behavior).
  • Selector namespaces.

いちいちコメントつけるだけでも疲れちゃいそうだけど、とりあえず、 1.9で(ある程度)やるものは以下の通り。

  • Native thread support. Huge. Especially for embedding and extending the language.
    • 一口にnative threadと言っても奥は深い。1.9のは「native threadを使うライブラリと共存できる」のが最大の目標。
  • Unicode support, including the ability to parse some Unicode mathematical notation, ala Fortress.
    • Fortress的なUnicodeの使い方には「No」
  • Better regex engine.
    • 鬼車でよければ
  • Better documentation.
  • Remove the Japanese specific libraries.
  • Remove Unix specific libraries (dbm, sdbm, gdbm).
  • Replace some libraries (getoptlong, etc, csv) with better/cross-platform versions.

曖昧すぎて何ともいえないが、(2.0以降)検討してみたいのは以下の通り。

  • Asynchronous methods.
  • AOP support (pre, post, etc).
  • Implicit getters and setters.
  • Refactor some of the core classes. Some methods are overwrought, and some are useless.
  • Atomic expressions.
  • Fine grained mixins.
  • Named parameters.
  • Make def return a (improved) Method object.
  • Anonymous methods via 'def'.
  • New parser. Goodbye yacc.
  • Structured warnings.
  • Class.aliased_methods.
  • Better Proc/proc integration.
  • Traits.
  • Type inferencing (as a Behavior).
  • Selector namespaces.

考えないといけないのはこれ。

  • Better project management. That means dealing with bug reports, patches, and RCR's in a timely fashion instead of letting them sit for years (or not responding at all).

もうちょっと良いissue trackingが必要だ。

_ [言語] StreamIt

Streamをベースにした言語StreamIt。

並列実行を最大化するために、 あらゆる計算をStreamでつなごうという試み。 成功するだろうか。

_ 「エヴァ」制作のガイナックス取締役、mixi騒動で辞任 - CNET Japan

赤井さんは同郷で(学校は違うけど)、高校時代に個人的に面識もある先輩なので こんな下らないことで辞任というのは残念で仕方がない。

_ [Ruby] The Ruby VM: Episode III

Ruby VMインタビュー・エピソードIII。 Multi-VMのこととか。

_ [Ruby] Ola Bini on Java, Lisp, Ruby and AI: Ye Zheng joins ThoughtWorks

Ola Biniに続いて、XRubyの開発者Ye ZhengもThoughtWorksに入社したという話題。

これってすごいことだと思うよ。 で、このままだとXRubyとJRuby周辺で協調と積極的な開発が進んで、 オリジナルRubyが置いていかれそうで、ちょっと危機感を感じたりして。 いや、1.9ももちろんそれなりに頑張っているんだけど。


«前の日(04-26) 最新 次の日(04-28)» 追記