Rubiniusが開発スプリントを行ったという話。 開発も順調に進んでいるようで素晴らしい。 あと、SunはJRubyだけでなく、Rubiniusや本家Rubyの開発も支援してる、 ということも忘れちゃいけない(ブログエントリ的にはそっちの方が重要)。
で、本家もスプリントを行いたいのだが、 地理的分散も大きいし、 どうしたもんだか。
そこで、SkypeやIRCを利用して、仮想的に集まることを 考えているのだが、なにぶん経験がないので うまくいく確信がない。
似たような経験のある人で、「こうした方がよい」とか 「このツールが役に立つ」とかいうような情報があれば 歓迎する。
とりあえず、通常の開発環境以外には Skype+RememberTheMilkでやろうと思ってるんだけど。
Trac(やRedMine)を用意して、そこに全部チケット突っ込むという手もあるけど、 どうなんだろうね。
「メンテは趣味ではできない」という断言は早急すぎないか、 可能性の芽を摘まないか、という懸念。
など、メンテナンスには困難な側面があるのは事実だろうけど、 それなりに楽しい側面もあると思うよ。 私、実はメンテ、嫌いじゃないもの。
私の場合は、好き嫌いではなく、粗忽者すぎてトラブルを頻発させるから 「降ろされた」という感じかな。
OSSプロジェクトはちゃんとメンテできる人を三顧の礼で探すべきだ。
Tim BrayによるErlang探訪。
Erlangに1,167,948行のログファイルを食わせて、 「ongoing(彼のブログ)」へのアクセス105,099行を抽出してみたら、 MacBookで56.44CPU秒かかった。
どうもI/Oが遅そうなのでスキャン部分は全部外して、 単にファイルを読み込んでみたら34.165 CPU秒かかった。
一方、同じ処理をRubyにやらせたら、3.036 CPU秒しかかからなかった。
分散がうまくはまればErlangは驚異的な性能を発揮するが、 (スクリプト言語としては基本的な)ファイルI/Oや正規表現マッチなどは 驚異的に遅いということを認識する必要がある。 まだ、汎用言語になるには改善が必要かも。
ErlangのVMであるBEAMの実装についての解説。
個人的に一番興味深かったのは GCがプロセス単位であること。 アルゴリズムはシンプルなマークスイープだけど、 ひとつのプロセスがカバーするオブジェクト数は限定的なので、 停止時間が短くてすむのが特徴。
TIOBE Index同様Googleの出現数を使って「Suckな言語」を探す試み。
Rank | Language | Query | Hits |
---|---|---|---|
1 | Perl | perl sucks | 58,900 |
2 | C | c sucks | 49,600 |
3 | C++ | c++ sucks | 39,900 |
4 | Java | java sucks | 27,900 |
5 | Lisp | Lisp sucks | 19,100 |
6 | JavaScript | JS sucks | 13,400 |
7 | Visual Basic | VB sucks | 8,000 |
8 | PHP | php sucks | 3,000 |
9 | Python | python sucks | 2,000 |
10 | Ruby | ruby sucks | 500 |
Rubyってば、ダントツである。こういうタイプの調査に滅法強いんだよね。
さらに、「Hackな言語」についても調査し、 「Hack比/Suck比」を計算してみる。
Language | Total Files | Hacks | Sucks |
---|---|---|---|
C | 4,530,000 | 224,000 | 11,300 |
C++ | 847,000 | 2,700 | 3,000 |
C# | 120,000 | 2,000 | 50 |
Fortran | 115,000 | 400 | 20 |
Java | 830,000 | 10,400 | 500 |
JavaScript | 22,700 | 600 | 100 |
Lisp | 36,000 | 600 | 100 |
Perl | 208,000 | 14,200 | 400 |
PHP | 580,000 | 14,200 | 300 |
Python | 326,000 | 400 | 300 |
Ruby | 15,600 | 2,000 | 50 |
Shell | 80,600 | 4,000 | 50 |
Visual Basic | 29,900 | 400 | 50 |
RubyはHackな言語であることが認定された。