Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

Rubyを学ぶ前にRailsを学ぶことはできる?レベル別おすすめRuby学習書

Rubyを学ぶ前にRailsを学ぶことはできるのでしょうか? 結論から言えば、「しばらくの間なら可能」です。しかし、アプリがRESTfulなCRUD操作やスキャフォールドで生成したTwitterクローンの段階を超えて成長すると、必ず壁にぶつかることになります。確かに、開発を進めながら自然とRubyを吸収することもできます。ただ、それでは上達までに膨大な時間がかかってしまいます。

Railsをマスターするのに十分なRuby力を身につけたいなら、Ruby単体で学習するのが近道です。 とはいえ、書店にはRuby関連の書籍が山ほど並んでいます。私が最後に本屋を訪れたとき、4つの棚がRubyの本で埋まっていました。その多くは良書ですが、中には別格と呼べる一冊があります。これらの本は、Rubyを学ぶ全過程を力強くサポートしてくれるでしょう。

最初の一歩:入門から基礎固めまで

Railsが初めてのフレームワークで、Rubyが初めてのプログラミング言語という方も多いはずです。プログラミング自体が未経験なら、まず『Learn to Program』から始めましょう。 コードを書いたことがなくても、この本を通じてRubyで自分のプログラムを書けるようになります。良いコーディング習慣を身につけた状態でスタートでき、初めてのプログラミング入門書として楽しく学べたという人をたくさん知っています。

次におすすめしたいのが『Eloquent Ruby』です。この本は「RubyらしいRuby」の書き方を教えてくれます(これはRubyistにとって非常に重要なポイントです)。クラスの定義方法、動的にメソッドを生成するテクニック、そして同じ処理を複数の書き方ができるときにどちらを選ぶべきか、その理由まで学べます。

『Eloquent Ruby』を読み終える頃には、慣用的な(イディオマティックな)Rubyが身につき、今後出会うコードを読んで理解するのが格段に楽になるはずです。

学びが深まるステージ:コード設計の悩みを解決する

これらの本を読めば、Rubyコードの書き方はわかるようになります。しかし、コードの「整理」にはまだ苦労するかもしれません。あるメソッドはどのクラスに属すべきか? クラスが肥大化しすぎているサインは? 自分でも理解できないほど複雑なメソッドを書いてしまったら、どうすればいいのか?

そんな悩みに答えてくれるのが『Confident Ruby』と『Practical Object-Oriented Design in Ruby(POODR)』です。この2冊は、中級Ruby開発者にとって宝石のような存在といえます。 読めば、あなたのRubyコードは間違いなく良い方向へと変わるでしょう。

なぜそう言えるのか?

『Confident Ruby』は、シンプルで汎用的なパターンに従うことで、読みやすいRubyコードを書く方法を教えてくれる本です。目指すのは「何をしているのかが明確なコード」です。判断・重複・エッジケースをコード本体から遠ざけ、複雑な部分を必要になるまで考えなくて済むようにする。つまり、そのまま動いてくれるコードを書くための本なのです。

一方、『Practical Object-Oriented Design in Ruby』は、コードに優れた設計を適用するための本です。オブジェクトやメソッドの構造化、そしてそれらの間のやり取りの設計方法を学ぶことで、使いやすくテストしやすいコードが書けるようになります。過剰な構造に陥らず柔軟性を保つこと、さらにコード変更時に修正が嫌にならないテストの書き方まで網羅しています。

継続的な学び:日々の情報収集

基礎を固めたら、次はさまざまなアイデアに積極的に触れ、興味を引いたものを深掘りしていく段階です。ブログも良い情報源ですが、近年はRubyに関する多様なトピックを定期的に発信する優れたリソースが爆発的に増えています。

私のお気に入りは以下の通りです。

  • Ruby Roguesポッドキャスト(その他のポッドキャストやカンファレンストークも)
  • RubyWeekly
  • RubyTapas
  • Ruby Steps

RubyTapasとRuby Stepsは有料サービスですが、どちらも無料で利用できるエピソードやニュースレターが用意されています。課金登録の前に、自分の学習スタイルに合うかどうかを確認できるのは嬉しいポイントですね。

私自身、長年にわたりランダムな記事やスクリーンキャストから、Rubyについて多くのことを学んできました。 最も体系的な学習方法ではありませんが、確実に効果はあります。

再びRailsの話に戻ると

RailsはRubyそのものです。Rubyの学習に費やした時間はRailsへの理解につながり、その逆もまた然りです。

だからこそ、Railsを使うために必ずしも先にRubyを学ぶ必要はありません。Rubyを手探りで進みながらでも、Railsで多くのことは実現できます。

しかし、それが最善の方法ではないのも事実です。いずれ必ずRubyを学ぶことになります。 そのとき、ここで紹介した本を活用すれば、揺るがない確かな土台を築けるでしょう。

  1. Ruby on Railsとは?初心者にもわかる仕組み・魅力・学び方を徹底解説

    Ruby on Railsとは? Ruby on Rails(略称:RoR)は、世界で最も人気のあるオープンソースのWebアプリケーションフレームワークです。プログラミング言語「Ruby」をベースに構築されており、シンプルなサイトから大規模で複雑なサービスまで、幅広いWebアプリケーションの開発を支援します。 そもそもフレームワークとは? フレームワークとは、ソフトウェア開発の際に土台となる構造を提供してくれるコードやツール、ユーティリティの集合体です。あらかじめ用意された構造に沿ってコードを書くことで、プログラムが整理され、保守性も高まります。正しく使いこなせるようになれば、開発作業は格段に

  2. 学ぶべきRailsスキルが多すぎる?初心者でも迷わない学習の始め方

    Railsコンピテンシーチャートをご覧になったことはありますか? CodeFellowsのBrook Riggio氏が作成したこのチャートには、現代のRails開発者が知っておくべきすべての概念がまとめられています。一度見てみましょう。 恐ろしいでしょう?まるで200本もの触手を持つ怪物が、あなたに襲いかかろうとしているように見えます。 Railsの学習が尻込みしたくなるのも無理はありません。SQLやデプロイメントのような一部の分野は、それだけで独立したキャリアパスになり得ます。アプリケーションアーキテクチャに何年も費やしても、専門家だと実感できないかもしれません。 しかし、このチャートは正