技術・科学

JavaとRuby

投稿日:

2005年から参加しているJavaFesta in 札幌に今年も行ってきた。

JavaFestaという名のとおり、基本的にJavaを中心としたセミナーなのだが、今年の主役はRubyのようだった。
というのも、SunがRubyへの支持を強めているからで、JRubyというJVM上で動作するRuby処理系が予想以上にマジメにサポートされているのだ。

僕はJRubyを趣味でインプリメントした程度のものだと思っていたのだが、これが大間違い。JavaとJRubyの相互呼び出しは当然として、Rubyで書いたクラスをJavaのバイトコードにコンパイルすることもできてしまうのだった。要するにどっちで書いてもJVM上で動くプログラムが作れるわけである。

IDEであるNetBeansにいたっては、最初からRuby on Railsが標準で搭載されていて、Railsアプリの開発がとても楽にできるようになっている。Railsのプロジェクトを作って、実行ボタンを押すとWEBrickが起動してすぐにデバッグができてしまうのだ。

さらっとJavaとJRubyの相互呼び出しと書いたが、これはかなり興味深い。JirbというRubyのコマンドラインツールを使って、rubyの部プログラムからJavaのクラスを呼び出せる。そう。インタプリタ的にJavaが使えるわけだ。Javaの膨大なライブラリをRuby的プログラミングでインテグレーションできるかもしれないのである。

実行速度もなかなかだ。本家Rubyの実装よりもJRubyのほうが速いケースもある。

RubyにはJavaでは実現されていないプログラミングパラダイムが含まれている。その点もRubyに関心が強まっている原因らしい。オブジェクト指向もどんどん進化していて、最前線にRubyがいるという感じだ。

Rubyを使い始めると他の言語で書くのがわずらわしくなるという。確かにそういうところがある。人間の思考と親和性が高いのだと思う。Rubyでプログラムを書くのは楽なのだ。

今のプログラミング言語は多かれ少なかれCPU寄りだ。人間が機械に歩み寄っているわけだ。Rubyはそこから少し人間の側に立った言語なのだろう。そのぶんCPUには無理をかけることもあるんだろうけど、今はもうそれでいい。Javaもそういう発想で発展してきたから、Rubyに近づくのは当然の帰結だったのかもしれない。

JVMとAPIs、そして各種の言語。言語は何を使ってもJavaはJava。Javaのコミュニティはそう主張しているのだ。そしてWrite once, run anywhereの理想は進化しつづける。

こういうセミナーは刺激になる。技術者は外に出るのをためらってはいけないのだなと改めて思った。







書いた人

nyao

nyao

本を書きたい人にITの基礎から学んでもらって、Kindleで著者デビューするまでをサポートします。 ITってよくわからないという人のために勉強会をやっています。 「読書と編集」という屋号でお仕事をしています。

プロフィールを表示 →

-技術・科学

Copyright© NyaoPress 読書と日常 , 2019 All Rights Reserved.