【Rails関西】軽量の人は繊細な人を兼ねる~JavaからRubyへ
今日のRails関西に行ってきた。
artonさんという大物有名人の講演も聞けて、ワクワクする勉強会だった。
その感想を書いてみる。
【1】Javaはクールな言語だった
artonさんは「Javaも好きです」と言っていた。
Javaは元々こんな特徴があって、10年前はクールな言語と言われていた。
つまり、Javaはインターネットを意識した初めてのプログラミング言語だった。
・仮想マシン(JVM)の上で動く
・バイトコードで読める
・ガベージコレクションがある
・移動コード(セキュリティ機構)を持つ
つまり、リモートホストからローカルホストへ転送され実行される機構を持つ
【2】Javaは現代のCobol~業務アプリは繊細な作り
でも、実際の現場では、Javaで業務アプリを作っても、やっぱり業務アプリは壊れやすい。
そして、広範囲に膨大に使われて、Javaが全てを解決したとはとても言えない現状がある。
最近は、軽量の言語の方がいいのでは、という傾向もある。
・業務アプリケーションに最も使われている
・型があるから安全でしょう(本当?)
・コンパイルするからバグが見つかる(本当?)
・Eclipseという統合開発環境があるから初心者でも簡単
・オブジェクト指向言語だが、今時そうでないプログラミング言語を見つけるのが難しい
・private、interfaceなどの言語仕様があるけれど、今はどの言語でも持っている
【3】それでもJavaには利点がある
にもかかわらず、Javaにはうまい仕掛けがある。
これらをうまく使えば、何かできないか?
・Reflection
・Annotation
・Bytecode Modification
・Java Native Interface
【4】軽量の人は繊細な人を兼ねる~軽量なRubyが繊細な業務アプリへ進出してきた
「軽量の人は繊細な人を兼ねる」という言葉をartonさんから初めて聞き、心揺り動かされた。
つまり、「軽量なRubyが繊細な業務アプリへ進出してきた」ということ。
実際、一部のSIerが、WebアプリをJavaからRubyへシフトしつつある。
このあたりの事情は、倉貫さん(XPユーザーグループ代表)のBlog『JavaからRubyへ―マネージャのための実践移行ガイド』でも取り上げられている。
この傾向の意味は、RubyがITビジネスとして使えるという安心感を示している。
【5】だからRjb(Ruby Java Bridge)
そこで、RubyからJavaライブラリを再利用するするために、Rjb(Ruby Java Bridge)を作ったとの事。
Javaのライブラリはそこら中に転がっているのだから、そのライブラリを再利用すればいいじゃないか、と。
この発想は、PerlのPluggerをRubyからコールして再利用しようという以前の講演のモチベーションと全く同じ。
その仕掛けの詳細はサンプルデモなどを読んでもらえればいいが、講演では、スレッドやスタック回りの開発部分の話がすごく面白かったけれど、時間切れで、もう少し聞きたかった。
artonさんは、何もRailsじゃなくてもASP.NETだって同じようにすぐに出来るよ、とサンプルデモを講演してくれた。
色んな言語での比較は面白い。
僕の少ない業界経験では、MS系のツール(Visual Studio)をフルに使いこなす技術者の生産性はJavaよりも高い。
にも関わらず、やっぱりJavaは面白い。
理由は、.NET系は自動生成したソースコードを解析するのはブラックボックスを触るような感覚で非常に難しいが、Javaなら自分で最初から組まないと動かないので、機構がすごく良く分かる。
同じように、RubyOnRailsも、ソースを最初から最後まで追いかけられるので、機構がすごく良く分かる。
元々、オブジェクト指向という発想はネットワークと相性がいい。
サーバーはオブジェクトに似ている。
だからインターネットを意識した言語、あるいはインターネットのキラーアプリが時代を変えるのだろうと思う。
そんな講演を聞きながら、そして一部のSIerがRubyで実際にシステム構築していく事例を見聞きすると、今と言う時代の技術が変化しつつあるのを感じる。
| 固定リンク
「コミュニティ」カテゴリの記事
- 第14回東京Redmine勉強会の感想 #redmineT(2018.05.27)
- 第19回Redmine大阪の見所 #redmineosaka(2019.01.26)
- 第15回東京Redmine勉強会の感想~Redmineの2つの顔が相異なる2つのユーザ層を生み出している #redmineT(2018.11.11)
- 第2回astah関西の感想 #astahkansai(2018.09.09)
- 第15回redmine.tokyo勉強会のLT資料の事前公開~今後のRedmineコミュニティの方向性について(2018.11.09)
「プログラミング」カテゴリの記事
- WinSCPでトンネリングする方法のリンク(2018.09.09)
- 仕様書にもExcel脱却が求められている(2017.12.23)
- ソフトウェアの複雑性は本質的な性質であって偶有的なものではない(2017.05.05)
- TiDDをRubyで補強するアイデア(2009.12.26)
- JudeからRoRのWebアプリを作る(2007.12.24)
「経営・法律・ビジネス」カテゴリの記事
- 法律のケース問題をモデル化するアイデア(2019.02.11)
- プラットフォーム革命の感想~プラットフォーム企業は新たな独占企業である(2018.11.25)
- IOT時代の製造業の戦略と変化についてポーターの考え方(2018.11.18)
- ポーターの競争戦略の考え方(2018.11.16)
- 組織文化はトップが作るのか、ボトムアップで作られるのか(2018.10.09)
コメント