続広報誌の記事

広報誌の記事を書くためにやったこと。

①後輩に頼んでRubyRailsの社外実績を調べてもらう

 島根県松江市での取り組みとか、
 楽天やカカクコムの食べログの事例などがでてきました。

Rubyの業界としての注目度
2007年に入ってからのニュース
 ・2007/02/28 ニフティ
  多様なニーズに対応できる柔軟なサービス開発手法が求められる中、
  新サービス「@nifty TimeLine」の開発で「Ruby on Rails」を採用したと発表
 ・2007/03/15 楽天 
  インターネットサービス開発の生産性をさらに向上させることを目的とする「Rubyプロジェクトチーム」を立ち上げ、
  自社が提供するインターネット・サービスの開発手段として、「Ruby on Rails」(RoR)を採用すると発表
 ・2007/03/16 日経BP 
   2007年「日経BP技術賞」大賞は「プログラミング言語 Ruby
 ・2007/07/24 Rubyビジネス・コモンズ設立準備委員会、
  プログラミング言語"Ruby"およびフレームワークである"Ruby on Rails"をビジネスに適用する際に
  必要になるさまざまな知識を共有することでRuby関連ビジネスの活性化を目指す「Rubyビジネス・コモンズ
  を7月31日付けで設立することを発表
 ・2007/7/27 Rubyアソシエーション 
  Rubyの開発者であるまつもとゆきひろ氏と、同氏が所属するネットワーク応用通信研究所(NaCl)、
  Rubyの普及促進を目的とした新法人「Rubyアソシエーション」を設立
 ・2007/09/17 日経地域情報化大賞2007 
  大賞にはオープンソースソフトウエア(OSS)の拠点づくりを進める
  島根県松江市の「Ruby City MATSUEプロジェクト」を選出
 ・2007/10/01 テクノプロジェクト 
  「Rubyの普及を目指した自治体基幹業務システム構築」をテーマに
  松江市向けに業務システムを構築し、実証実験を開始すると発表
 ・2007/10/22 カカクコム 
  ソフトウエア・プラットフォームとしてRuby on Railsを採用し、全面リニューアルしたと発表
  2007年9月末時点のサイト利用者数は月間約380万人、月間ページ・ビュー(PV)数は約2900万PV
大手企業も注目し、大規模サイトでの利用も始まっています。

JavaRubyを比べてみよう作戦

 手軽なところで、Googleの検索結果数比較をしてみることに。
 結果は意外な感じ。いまいち使える数字ではない模様。
 (Rubyがかなり普及してきていると言えるような言えないような。)

  • Googleの検索結果(日本語) 2007/10/25
    • MySQL 約 2,300,000 件
    • Perl 約 2,240,000 件
    • Ruby 約 2,000,000 件(200万件)
    • Python 約 1,850,000 件
    • Java 約 1,690,000 件 (169万件)
  • Googleの検索結果(全体) 2007/10/25
    • Java 約 447,000,000 件 (4.4億件)
    • MySQL 約 191,000,000 件
    • Perl 約 125,000,000 件
    • Ruby 約 121,000,000 件 (1.2億件)
    • Python 約 99,400,000 件

③本を読んでみる

JavaからRubyへ ―マネージャのための実践移行ガイド』という本買ってきた。

  • メモした内容(ページ数とか若干あやしいところあるかも。適宜言い換えてる言葉あり)
    • p8 :生産性高い
    • p19 :Javaは像撃ち銃
    • p25 :JavaRubyに比べてコードの長さが2〜4倍。短いほうが保守コスト低
    • p26 :生産性比較。他の静的言語(Cとか)と比べてもJavaは生産性がひくい。
    • p37 :メタプログラミングの効果。生産性の向上が複利的になる
    • p40 :Javaは非本質的複雑性が大きく生産性が低い
    • p42 :JavaからRubyにビジョナリー達が移っている
    • p48 :Rubyはコード行数が少なくて済む(実例あり)。バグが少なく保守しやすい。
    • p56 :規模拡大で生産性が低下する
    • p56 :インターフェースの遵守はすばやいビジネス変化に対応しにくい
    • p58 :大人数⇒Rubyによる生産性向上⇒少人数⇒トッププログラマを雇える⇒さらに少人数でOK。Less is more.
    • p59 :ソフトウェアは稼働してこそ価値がでる。(開発中は価値がない)。より早く実稼働できれば価値が高まる。生産性の高い言語で、クリーン&シンプル化して、価値を順次提供できるとよい
    • p60 :Javaはもっと素朴なテクノロジで良いところをエンタプライズフレームワークを使うように働きかける
    • p62 :Rubyはインストールも楽。Javaの選択肢の多さはトレードオフあり
    • p64 :Rubyは表現力あり、読みやすい⇒保守しやすい
    • p70 :Javaはインフラストラクチャ構築用言語
    • p74 :少人数で技術スタッフに決定権がある小規模チームは動的言語の強みを活用できる
    • p99 :オープンソースを使うLAMP.Rubyもその一部
    • p106:Railsの強み。生産性の高さ。ここの革新的機能の積み重ねもあるが、フレームワークとしての統合の生み出す相乗効果が大きい
    • p112:RubyはWebアプリなど迅速な開発向き
    • p144:Rubyは多言語との統合手段も多い
    • p148:Rubyの場合は、Javaに比べ開発者が1/3か1/4ですむ

まとめると、
表現力が高く、ソースコードが短くて済む
 ⇒生産性が高い、保守性が高い
  ⇒Javaに比べて少人数でOK。コミュニケーションロスなども減ってさらに効率UP
   ⇒すばやいビジネス変化に対応する、Webアプリケーション開発には適している
という感じなのかな。
うーん。いまいち弱いなぁ。
最近のSeaser2とかの話を聞いているとホットデプロイがあったり、XMLでなくCOC的な考えがあったり
(さらに進んで、流れるようなインターフェースっていうのもあるらしい)して、
RubyJavaって近づいているのかなとも思えたり。
Ajaxへの対応とかもいろんな言語で始まりつつあるようだし。