Ruby on Railsを勉強する前に、"初めてのRuby"を読みました。本の感想とRubyの印象を書きます。
自身のプログラミング言語経験
本の内容が専門的なので、参考に自身のプログラム経験を書いておきます。
- 業務で主に使用している言語
- 業務で使ったことのある言語
- Perl、シェルスクリプト、javascript (バッチ書いたり、社内ツールを作るときに使います)
- 授業や研修で習った言語
本の感想
他の言語を知っている人向け
本の"はじめに"に書いてある通り、プログラム経験者向けです。特にオブジェクト指向の経験は必須で、"クラス" "インスタンス"などの用語が説明なしに出てきます。
オブジェクト指向でプログラミング経験があれば、自分の知っている言語へ用語を対応づけることで理解できると思います。
個人的には、関数型言語は未習得なので、関数型由来と思われる関数 (select等)は理解するのに時間がかかりました。
説明はあっさり、簡潔
他言語で経験のあるプログラマ向けなので、全体的に、Rubyでコレはこう書きます、といった書き方が多く、冗長な表現はありません。
ページ数が少ないので一気に読める
Rubyがどんな言語かさらっと知りたい場合にはおすすめです。ページ数が205ページと、プログラミング専門書の中では薄いほうなので、Rubyの概要を知るにはよい本です。
本の中でよくわからなかったこと
ブロック付き構文
javaだと関数をそのまま渡すことはできないのでブロック構文の理解に戸惑いました。 Rubyを勉強していくうちに、javascriptのコールバックと同じようなものだと理解しました。
シンボル
文字列とは違うのか、どのようなときに使うのかがいまいち分かりづらかった。
Rubyの印象
perlっぽい
一番強く思ったのがRubyはperlっぽいということです。 本の中でも、
と書かれています。 似ている点は以下
perlよりもよいと思った点は以下
かゆいとことに手が届いている
比較的最近できた言語というだけあって、他の言語を使用していてちょっと不便だなと感じるていたことが、Rubyでは簡単に行えるようになっています。
- 使い終わったファイルを自動的に閉じてくれる機能が標準でサポートされている
- 負の添字で配列を後方から参照できる
- GCを自動で行ってくれる
サーバサイドも書けるしバッチも書ける
普段はJavaでサーバサイドプログラムを書き、たまにperlでバッチを書いているのですが、Rubyならサーバサイドでもバッチ処理でも使えて習得にお得感があります。
個人的な感想
長らくプログラミング言語を新たに習得するということをしていなかったので、そもそも本書を理解できるか不安でしたが、半分以上は理解できたと思います。手続き型言語なので、順次・分岐・繰り返し の構文、オブジェクト指向なのでクラス・メソッド・各種変数があるのはどの言語でも同じだと認識しました。
ただ、JavaとRubyでは、equalsと==の意味が逆なので絶対間違えると思う。
本書を読んだ副作用として、思いがけずjavascriptの理解を深めることができました。クロージャという言葉を知れたのが大きいです。javascriptは系統立てて学んでいないので、本を読んで理解することは大切だと痛感しました。
初めてのRuby |