M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Rubyを再勉強中…

自分の記憶が確かならばJavaScriptの次に勉強したのがRubyだったはずです。

何しろ国産(むしろmatz氏が国産)というので注目されていましたし、プログラミング言語界ではPerlとちかい範囲をターゲットとしていましたので、自然Web業界でも注目されます。

なんでも中途半端にかじっては忘れていく例の行動パターンでRubyもそれっきりでしたが、繁忙をきわめていた職場もようやく落ち着き、年に何度かやってくる無為=無気力の期間(うつとは違うんだけど)をやりすごすために、Rubyのテキストをふたたび手にしてみました。

そもそもが年初に、青山のOracleで開催されたセミナーのなかでJRubyが紹介されていて、それが気になっていたこともあります。

C言語で実装された本家のRubyインタプリタ(CRuby)とちがい、Javaランタイムで動くRubyインタプリタは、Javaのリソースを活用できたり、スケーラビリティに優れたり、C言語のような低レベル言語による実装は許されない(もしくは困難)な環境でもJavaランタイムがあればRubyコードを実行できたりと、なかなか便利です。

もちろんJavaランタイムにはDalvikVMが含まれます。例えば、ScalaJavaバイトコード(つまりはクラス)にコンパイルされる型安全な言語で、手続き型と関数型のあいのこ言語という、とても先進的かつ実際的な言語ですが、反面JavaバイトコードというJava実行環境に依存するコード(当たり前ですが比較のためにあえて言います)から構成されるために、Androidのような“特殊な”Java環境でも実行するにはより多くの工夫が必要です。

これに対してJRubyJythonJavaランタイムで動くPythonインタプリタ)のように、複数のJava環境間の差異を吸収するインタプリタが、ソースコードを逐次実行する形式の言語のほうが、コードの移植に有利なようです(前述のセミナーで聞きかじった知識です)。

またJRubyの場合、JavaEEの環境やツールを使用することで、デプロイが簡略化されたりと、開発/配備それぞれのメリットが得られます。JRubyは本家のインタプリタの実装する新バージョンの言語仕様への追随の早さも注目されます。Jythonは本家CPythonがとうにバージョン3.x仕様系に移行した現在も、対応言語仕様は2.xにとどまっています。

…とまああれこれ述べてきましたが、実際どんなもんなの(自分自身に対しての質問)。ということで勉強です。「この○○メソッドとこの△△メソッドはまったく動作がいっしょです」という説明が妙に目立って、いらいらする今日この頃です。

とりあえず以下の本を読んで…

プログラミングRuby 1.9 −言語編−

プログラミングRuby 1.9 −言語編−


Ruby技術者認定試験 公式ガイド (ITpro BOOKs)

Ruby技術者認定試験 公式ガイド (ITpro BOOKs)

余裕があったらこちらも読みたいものです。(というかこちらが本題。)

JRuby on Rails実践開発ガイド (Professional Ruby Series)

JRuby on Rails実践開発ガイド (Professional Ruby Series)

もちろんアナール学派と社会学への投資も忘れずに…

社会はいかに記憶するか―個人と社会の関係

社会はいかに記憶するか―個人と社会の関係


ジャスミンの魔女―南フランスの女性と呪術

ジャスミンの魔女―南フランスの女性と呪術

  • 作者: エマニュエルル=ロワ=ラデュリ,Emmanuel Le Roy Ladurie,杉山光信
  • 出版社/メーカー: 新評論
  • 発売日: 1997/09
  • メディア: 単行本
  • 購入: 1人 クリック: 2回
  • この商品を含むブログ (1件) を見る