Rubyを始めたい方へ(つづきです)

前回からの続きです。

3. Rubyの深いところに入っていこう

ここからがRubyの面白いところです。
認定試験のSilverに見事合格したら、次はGoldを受験となりますがGoldの難易度はかなり高めです。
ここは腰を据えてじっくりRubyの仕様と向き合ったほうがいいでしょう。

公認の試験本でもRubyを更に深く理解することができますが、その前に私がお勧めしたいのは
メタプログラミングRuby」(ASCII)です。

和訳本ではありますが、わかりやすく訳されていることもあり読みやすいと思います。
また、著者の Paolo Perrotta さんがRubyと遭遇したときの驚き、感動が読み手にも十分伝わってきます。私はJavaを長年経験してきましたが、著者もJavaからRubyへ転向されたようで、Javaを経験されている方なら更に共感できるのではないでしょうか。

Rubyの一部の仕様に対し、「魔術」という言葉を使って怖さを表現されていますが、まさにJavaな人からは想像もできない恐ろしい!?言語かもしれません。

難易度は高めの書籍ですが、RubyのGold試験や、RailsでのWebアプリケーション開発に携わるなら、その前に必読の書籍と思います。
この書籍を読み、Rubyの「魔術」の怖さを知り、自制心をもってプログラミングしなければならないことに気がついてもらえるのではないでしょうか。Javaのソースコードは比較的他人が書いたものも追うことができると思いますが、Rubyの場合はRubyの仕様を活かしつつ如何に他人でも読み解けるソースコードが書けるか・・・が腕の見せ所ではないでしょうか。

4.Railsに挑戦

最終的にはWebアプリケーションを作成することを目的としてRubyを習得される方が多いことと思います。
最近では組み込み向けとしてのmrubyもありますし、RubyMotionRhodesというツールではモバイル端末向けのネイティブアプリケーションを作成することができます。
また、インフラ寄りの方ではシステムを管理するためのツールChefのレシピ(設定ファイル)を記述するのに初めて利用される方もいらっしゃるかもしれませんね。

私は以前RubyMotionとRhodesには少し手を出したのですが(挫折気味)、最近は専らRuby on Railsとなっています。
Railsもまた、Rubyと同様旧来の開発手法を大きく変化させたWebフレームワークだと思います。Railsは既に最初のリリースから10年経過したようですが、現在も活発に更新が行われており進化しています。
また、Railsから影響を受けているWebアプリケーションのフレームワークも多いようです。

Railsを学習する際のお勧め本ですが、すみません・・・個人的に最新バージョンに対応した書籍を購入して読んでいないためここでは強くお勧めできないのですが、私が以前学習した際に利用させていただいたのは、「RailsによるアジャイルWebアプリケーション開発」です。
現在最新版はおそらく4版だと思うのですが、Railsのバージョン3.xに対応しているものの、現時点で最新のRails4.2に対応した書籍が日本では発売されていないようです。 英語版あるものの和訳された書籍は無く、Rails4.xがリリースされてから1年以上経過していますので、今後も期待薄かと思います。
弊社でRailsのエンジニアを育成する際にこの書籍を利用させていただいたのでちょっと残念です。

しかし、間もなく?Railsもバージョン5がリリースされるのではないかと思いますので、Rails5では社内の教材として利用できる書籍が発売されることを期待しています。

前置きが長くなりましたが、実際に自分で利用するためのちょっとしたアプリを作ってみたり、チャンスがあれば社内で利用してもらえるシステムを構築できるといいですね。やはり開発のモチベーションは誰かに利用してもらえる・・・ここにあると思いますので。

5.Railsの次は

ここまできたらRubyの認定試験でGold取得を目指してみてください。難しいです。私は一度失敗しました。
Webアプリケーションの開発者を目指している方は、Railsの習得と並行して周辺技術の習得も必要になることでしょう。
JavaScript、HTML5、CSS(CSSフレームワーク)、JavaScriptの各種ライブラリやそのライブラリの管理ツール。CoffeeScript、テストライブラリであるRspecなど学ぶことは盛りだくさんです。

業務システムに適用するには、Excelとの連携も必要になったりしますが、こちらもExcelをエクスポートしたり、インポートする際にパースしてくれるライブラリが存在しています。これらを活用できれば、エンタープライズ系のシステムにもRailsを導入できると思いますし、弊社では実際に活用させてもらい販売管理システムをRailsで作成しました。

弊社では今後フロントにはReactを利用していきたいと考えていますが、少し前まではBackboneを検討していました。
こちらも変化が早いので今後どうなるか予測もつきませんが、日々素晴らしいオープンソースの製品が提供されています。タイムリーにキャッチアップすると共に開発者の方々への感謝も忘れないように。>自分。


Excelは、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。