yucatio@システムエンジニア

趣味で作ったものいろいろ

"初めてのRuby" 本の感想とRubyの印象

Ruby on Railsを勉強する前に、"初めてのRuby"を読みました。本の感想とRubyの印象を書きます。

自身のプログラミング言語経験

本の内容が専門的なので、参考に自身のプログラム経験を書いておきます。

  • 業務で主に使用している言語
    • Java (業務で使用して6年くらい。普段はWEB APIを開発しています)
  • 業務で使ったことのある言語
  • 授業や研修で習った言語

本の感想

他の言語を知っている人向け

本の"はじめに"に書いてある通り、プログラム経験者向けです。特にオブジェクト指向の経験は必須で、"クラス" "インスタンス"などの用語が説明なしに出てきます。

オブジェクト指向でプログラミング経験があれば、自分の知っている言語へ用語を対応づけることで理解できると思います。

個人的には、関数型言語は未習得なので、関数型由来と思われる関数 (select等)は理解するのに時間がかかりました。

説明はあっさり、簡潔

他言語で経験のあるプログラマ向けなので、全体的に、Rubyでコレはこう書きます、といった書き方が多く、冗長な表現はありません。

ページ数が少ないので一気に読める

Rubyがどんな言語かさらっと知りたい場合にはおすすめです。ページ数が205ページと、プログラミング専門書の中では薄いほうなので、Rubyの概要を知るにはよい本です。

本の中でよくわからなかったこと

ブロック付き構文

javaだと関数をそのまま渡すことはできないのでブロック構文の理解に戸惑いました。 Rubyを勉強していくうちに、javascriptのコールバックと同じようなものだと理解しました。

シンボル

文字列とは違うのか、どのようなときに使うのかがいまいち分かりづらかった。

Rubyの印象

perlっぽい

一番強く思ったのがRubyperlっぽいということです。 本の中でも、

Rubyは歴史的には「よりよいPerl」として受け入れられてきた側面があります。

と書かれています。 似ている点は以下

  • スクリプト言語である
  • コメント文の書き方
  • バッククォートでシェルコマンド実行
  • if-elsif-else, if修飾子
  • 正規表現の扱いやすさ
  • ファイルの扱いやすさ

perlよりもよいと思った点は以下

  • 暗号っぽくならない
    • perlに精通した人のコードは記号ばかりで初心者が理解するのは難しいが、Rubyはそのようなことは多くはなさそう

かゆいとことに手が届いている

比較的最近できた言語というだけあって、他の言語を使用していてちょっと不便だなと感じるていたことが、Rubyでは簡単に行えるようになっています。

  • 使い終わったファイルを自動的に閉じてくれる機能が標準でサポートされている
  • 負の添字で配列を後方から参照できる
  • GCを自動で行ってくれる

サーバサイドも書けるしバッチも書ける

普段はJavaでサーバサイドプログラムを書き、たまにperlでバッチを書いているのですが、Rubyならサーバサイドでもバッチ処理でも使えて習得にお得感があります。

個人的な感想

長らくプログラミング言語を新たに習得するということをしていなかったので、そもそも本書を理解できるか不安でしたが、半分以上は理解できたと思います。手続き型言語なので、順次・分岐・繰り返し の構文、オブジェクト指向なのでクラス・メソッド・各種変数があるのはどの言語でも同じだと認識しました。

ただ、JavaRubyでは、equalsと==の意味が逆なので絶対間違えると思う。

本書を読んだ副作用として、思いがけずjavascriptの理解を深めることができました。クロージャという言葉を知れたのが大きいです。javascriptは系統立てて学んでいないので、本を読んで理解することは大切だと痛感しました。

初めてのRuby

初めてのRuby
著者:Yugui
価格:2,376円(税込、送料込)
楽天ブックスで詳細を見る