Webアプリケーションに携わるエンジニアなら、Ruby Railsというフレームワークを一度は耳にしたことがあると思います。Rails以前にもRubyで書かれたフレームワークは存在していましたが、
・メタプログラミング可能なRubyの特性を活かし、冗長なコードを書かなくてよいこと
・データベースからビューまでフルスタックの機能を提供していること
などが評価され、多くの開発で使われるようになりました。私も普段Railsを使用していますが、とにかく開発効率が良く、「サービスを素早く作りたい」というスタートアップ企業には、うってつけだと思います。
Rubyコミュニティの活動はとても活発で、他の言語と比較すると、フレームワークやライブラリが早いペースでバージョンアップしていきます。つまり、便利な機能の追加や脆弱性の解消がスピーディーです。実際の開発の現場でも「こういう機能があればいいな」と思ったらRubyGems(ルビージェムズ)を探せばすぐ見つかる、という場面が頻繁にあります。
RubyGemsは、Ruby言語用のパッケージ管理システムであり、Rubyのプログラムと("gem" と呼ばれる)ライブラリの配布用標準フォーマットを提供している。(Wikipediaより)
スタートアップ企業では、スクラム開発がよく用いられます。サービスを開始した後、短いサイクルで「リソースを何に投資するか」を決めていく必要があるためです。Rubyは"変化に対応しやすい言語"であり、このような開発手法と相性がよいです。なぜ変化に対応しやすいのでしょうか?具体的には次のような点が挙げられます。
・ソースコードが読みやすいため、急な仕様変更があった場合にも「どの箇所を変更すればよいのか」が分かりやすい
・少ないコード量で多くの仕事が出来るような言語仕様になっている
・"オープンクラス"の特性を持っており、クラスのふるまいを後から自由に変更することが出来る
私は昔Javaプログラマだったのですが、「Javaだと何十行もコードを書かないといけない処理が、Rubyだと数行で済む」というケースも多く、Rubyの柔軟さを実感しています。
開発効率が良く、機能も充実しているRubyですが、元々は「他の言語と比べると実行速度がやや遅く、メモリの利用効率が良くない」という弱点を抱えていました。しかし、RubyやRailsのバージョンが上がるにつれ、次第にその弱点も改善されてきました。また、近年CPUやメモリの性能が良くなり、相対的に速度が向上したことも、Rubyが利用されるようになってきた一因だと思います。
次のページ:Rubyで作られているスタートアップ企業のサービス