いたさんのブログ

rails to Niigata

Ruby

From Java To Ruby In Tokyo University

RubyKaigi2007でも講演した、Tim Brayさんのブログをみていたら、Tim Bray、Charles Nutter、Thomas Eneboの3人が、RubyKaigi2007の後で、東京大学を訪問したときの話が書かれていました。

東京 X: Researching

竹内郁夫先生と名刺交換した話などもありましたが、東京大学では、学部の1年生にJavaではなくてRubyを教えていると言う話が一番気になりました。ささださんも教えているとのことですが、From Java To Rubyが大学でも出てきている?のですね。

追記:と書いたところで検索してみたら、昨年度からだったのですね。教養学部だそうです。

東京大学教養課程の第一プログラミング言語がRubyに

Published on 06/29/2007 at 15:42 under . タグ , ,

RubyKaigi2007の思い出

RubyKaigi2007からだいぶたってしまいましたが、振り返ってみて印象に残っている点を記しておきたいと思います。

なんといっても、「達人プログラマー」Dave Thomasの"セッション":http://jp.rubyist.net/RubyKaigi2007/Log0610-S5.html が今回のハイライトであったことは言うまでもありません。特に私が印象深かったのは

自分の使っている仕事の道具を愛せなければ、よい仕事はできない。ただ、仕事をやっつけなければならないものにしてしまったら、1日8時間も9時間も人生を無駄にしていることになる。

というところ。そして、

これからRubyの世界に入ってくる人たちを歓迎する準備をしよう。我々には責任がある。これまで、何万人ものひとをRubyで幸せにしてきたが、これからはもっともっと多くの人たちを幸せに出来る。Matzと日本のコミュニティの人たちがいるから大丈夫。

と言う(意訳です)クロージングのところです。

Daveの講演以外に印象に残っているのは、高井さんの"JRubyのセッション":http://jp.rubyist.net/RubyKaigi2007/Log0610-S1-02.html とRejectKaigi2007の"From Ruby To Java":http://jp.rubyist.net/RubyKaigi2007/LogRK-15.html 。もちろん、御本家のCharles NutterとThomas EneboのJRuby1.0リリース講演もよかったのですが、内容は既に承知のものがほとんどだったので。

それから、やはり"「まじろう」":http://jp.rubyist.net/RubyKaigi2007/Log0610-S1-04.html でしょう。AP4Rについては、ニュースリリースの際に目にしていたのですが、既に海外で使われていたのですね。

これ以外にも、たくさん面白いことはあったのですが、"速報ログ":http://jp.rubyist.net/RubyKaigi2007/Log.html をみていただくことにしてこの辺で。

Published on 06/28/2007 at 15:44 under . タグ , ,

VPS不調

このサイトをホスティングしているVPS(仮想プライベートサーバ)がXenのバグのせいで不調です。

突然、スワップパーティションが見えなくなり、もともとかつかつのメモリで動いているので、ダウンしてしまうのです。

来週、アップグレードするということなので期待していますが、また移行の際にダウンするかもしれません。

ところで、RubyKaigi2007に行ってきたのですが、その感想は改めて書きます。

Published on 06/14/2007 at 16:15 under . タグ , ,

Ruby.NETとIronRubyの関係

オーストラリアのクイーンズ ランド 工科大学が開発している"Gardens Point Ruby.NET":http://plas.fit.qut.edu.au/Ruby.NET/ がベータ0.8となりました。

C#などの.NET Framework上の他言語との相互呼び出しを制限つきながらサポートしたようです。

ところで、MicrosoftのIronRubyについては、JRubyの開発者であるOla Bini氏が、「Microsoftの社員はオープンソースソフトウェアのコードを見ることを禁止されているため、MRI(Matz Ruby Implementation:本家Ruby)との互換性を保つのは難しいのではないか」との意見を表明しています。

There can be only one, a tale about Ruby, IronRuby, MS and whatnot

これに対してIronRubyのJohn Lam氏は、MicrosoftがGardens Point Ruby.NETのライセンスを取得したことを明らかにし、Ruby.NETのスキャナとパーサーを使えば、IronRubyでのフル実装はそれほど難しくないと反論しています。

IronRuby and Ruby.NET

それにしても、Microsoftは著作権訴訟を避けるためだそうですが、厳しいルールですね。John Lam氏たちもフラストレーションがたまりそうですね。

Published on 06/06/2007 at 16:20 under . タグ , ,

John Lam on Software:Microsoft and IronRuby

RubyCLRの開発者で、今年1月にMicrosoftに加わり、MIXで正式発表されたIronRubyの開発を担当しているJohn Lam氏が、MicrosoftのRubyへのコミットメントについてブログに書いています。

Microsoft and IronRuby

Microsoftに入社する際の最終面接者で、.NET Platform全体の実質的責任者であるScott Guthrie氏も、CLR上で動作する「一級品」のRubyを本気で出そうと思っているそうです。IronRubyは7月のOSCONでファーストリリースを予定しているらしいです。

このJohn Lam氏のブログエントリは、Martin Fowler氏のブログ記事"RubyMicrosoft":http://www.martinfowler.com/bliki/RubyMicrosoft.html への回答の意味を込めているようです。

Martin Fowler氏は、「MicrosoftのRubyが、互換性のあるフルバージョンになるのかどうかが気になる」とし、「社員がオープンソースソフトをダウンロードすることを禁止するような会社で、それはむずかしいのではないか」というJRubyのOla Bini氏の意見を紹介しています。

「最近、以前にもまして、アルファギークと呼ばれる人たちのMicrosoft離れが進んでいる」「特に開発ツールの分野でのコミュニティ無視はアジャイル開発者を失望させている」と言う趣旨の感想を述べ「Rubyが、Microsoftがコミュニティとうまくやっていけるかの試金石になるだろう」としています。

Published on 06/02/2007 at 14:52 under . タグ , ,

遅ればせながら「Rubyソースコード完全解説」

以前、Amazonのマーケットプレースでプレミアつきで購入してあったのですが、なかなか読みはじめられなかった「Rubyソースコード完全解説」を、連休だというのにカゼをひいて出かけられないので、良い機会だと思い、読みはじめました。

まだ、第5章までですが、特異メソッド(特異クラス)のしくみや、さまざまな工夫など、内部構造を理解できると、すぐには役に立たなくとも、「深い知識」を得るのには最適ですね。

Published on 05/04/2007 at 08:18 under . タグ

IronRuby発表

MicrosoftがカンファレンスMIXで、IronRubyの開発を公式発表しました。

RubyCLRの主要開発者で、今年からMicrosoftに入社したJohn Lam氏がブログで伝えています。

Introducing IronRuby

これまでは、守秘義務のため何もかけなかったとのことですが、IronRubyはIronPython同様、3週間に1回のリリースを目指すそうです。ライセンスはBSDライクな"Microsoft Permissive License":http://www.microsoft.com/resources/sharedsource/licensingbasics/permissivelicense.mspx だそうです。

また、Windows Presentation Foundation/Everywhere(WPF/E)と呼ばれていたリッチクライアント実行環境Silverlightでも、Python、JScriptに加えて、RubyとVBも利用可能になるそうです。

Published on 05/01/2007 at 12:26 under . タグ , , ,

Ruby Quiz: LCD

勉強会の題材で、Ruby Quizを取り上げているのですが、わたしの拙いプログラムを、皆様の御参考に公開してみようと思います。 最初は、LCD Numbersです。コマンドライン引数として渡された数字を、電卓の液晶画面のように表示するのが課題。サイズ指定も出来ることが条件です。 本来の出題意図は、空白  と - マイナスと | で数字を表現するらしいのですが、通常のターミナルではあまり数字らしく見えなかったので、 - の代わりに _ を使ってみました。


require 'optparse'

class Digit
  @@digits = Array.new
  @@digits[0] = [[" ", "_", " "],
                 ["|", " ", "|"],
                 ["|", "_", "|"]]
  @@digits[1] = [[" ", " ", " "],
                 [" ", " ", "|"],
                 [" ", " ", "|"]]
  @@digits[2] = [[" ", "_", " "],
                 [" ", "_", "|"],
                 ["|", "_", " "]]
  @@digits[3] = [[" ", "_", " "],
                 [" ", "_", "|"],
                 [" ", "_", "|"]]
  @@digits[4] = [[" ", " ", " "],
                 ["|", "_", "|"],
                 [" ", " ", "|"]]
  @@digits[5] = [[" ", "_", " "],
                 ["|", "_", " "],
                 [" ", "_", "|"]]
  @@digits[6] = [[" ", "_", " "],
                 ["|", "_", " "],
                 ["|", "_", "|"]]
  @@digits[7] = [[" ", "_", " "],
                 [" ", " ", "|"],
                 [" ", " ", "|"]]
  @@digits[8] = [[" ", "_", " "],
                 ["|", "_", "|"],
                 ["|", "_", "|"]]
  @@digits[9] = [[" ", "_", " "],
                 ["|", "_", "|"],
                 [" ", "_", "|"]]
             

  def initialize(size)
    @size = size
  end
  
  def row(n,row_num)
    case row_num
    when 0
      " " + @@digits[n][0][0] + @@digits[n][0][1] * @size 
          + @@digits[n][0][2]
    when Range.new(0,@size,true)
      " " + @@digits[n][1][0] + ' ' * @size 
          + @@digits[n][1][2]
    when @size
      " " + @@digits[n][1][0] + @@digits[n][1][1] * @size 
          + @@digits[n][1][2]
    when Range.new(@size,@size * 2,true)
      " " + @@digits[n][2][0] + ' ' * @size 
          + @@digits[n][2][2]
    when @size * 2
      " " + @@digits[n][2][0] + @@digits[n][2][1] * @size 
          + @@digits[n][2][2]
    else
      raise "Error"
    end
  end
end

size = 2
opt = OptionParser.new
opt.on('-s SIZE') {|v| size = v.to_i}

opt.parse!(ARGV)
number = ARGV[0]
out_digits = []
d = Digit.new(size)

0.upto(size * 2) do |i|
  line = ""
  number.each_byte {|c| line += d.row(c.chr.to_i, i)}
  puts line
end
</pre>






  

Published on 04/30/2007 at 15:47 under . タグ ,

達人プログラマー

達人プログラマー―システム開発の職人から名匠への道を今読み始めたところです。

有名な本だとは知っていたのですが、最近できたジュンク堂に立ち寄った際に、Joel on Softwareと見比べて、こっちを先に買いました。

プログラマーだけではなく、ソフトウェア開発に携わる方すべてにお勧めです。

Ruby会議でDave Thomasさんの話が聞けるのが楽しみになりました。

Published on 03/29/2007 at 15:08 under . タグ

Ruby declared TIOBE's Programming Language of 2006!

予想通り、RubyがTIOBE Softwareの調査での、Programming Language of 2006になりました。

TIOBE Programming Community Index

この選択基準は、人気指数の上昇度合いで決められているようです。Rubyは+2.15%で、2位のJavaScriptの+1.31%を大きく上回っての1位です。

1月のランキングでも、初のベスト10入りでした。9位にはその強敵JavaScriptが控えています。

Published on 01/05/2007 at 13:12 under . タグ , ,

Powered by Typo – Thème Frédéric de Villamil | Photo Glenn