21世紀のBASIC

まつもとゆきひろ×結城浩,Rubyを語る:ITpro

なるほどな。得意な分野がずいぶん違う気はしなくもないけど。

自分も

  • end ってなんだよと思ったけど、開くブレースの位置で悩む必要がなくなって今はとてもしっくりきている
    • Emacs で書いているからかもしれない
  • 最初からオブジェクトで統一されているので、Ruby でようやくオブジェクト指向が理解できた
  • メソッド呼び出しがとてもスムーズで、やっとオブジェクト指向が躊躇なく使える感じがした
  • 読んだり書いたりするときに気持ちよくなるような設計を心がけるようになった
    • 書き方として標準のメソッド、ライブラリがとても参考になっている

ただ

  • 初めて本を買わずに習得した言語で、リファレンスのオブジェクト指向どっぷりな解説がつらかった
    • おかげで一生懸命書いて動いて分かったときの喜びは最近学んだ言語の中ではいちばん大きかった
  • ブロックはまだよく分からないです
    • 自分でこれを取るメソッドを定義する必要性があんまりないもんで

てなところもある。

個人的ないちばんの収穫は「気持ちよく書けること1を意識するようになった」こと。これが実はすごくでかい。メソッドが繋がったときに読みやすいか、オブジェクトの名前とメソッドの名前の関係がおかしくないか、といった点を常に意識するようになったのは Ruby の読みやすさ、書きやすさの影響だと思う。2

そういう意味では 21世紀の基本(BASIC)になってほしいと思うことはあるな。自分のコードも他人のコードも気持ちよく読み書きできるに越したことないもの。簡単な作業が不必要に複雑になってしまわないように、短く気持ちよく書けることはとても大切だ。

  1. 「気持ちよく読めること」でもあるんだけど、例えばそのオブジェクトを利用して、自分を含めたユーザーが何かを書こうとしたときに、できるだけ気持ちよく使えることを意識している。あの、言っとくけど意識してるだけで実践できているとは言ってないからね。 

  2. もちろん他の言語でもある程度やればそういうスタイルになる可能性はあるんだけど、Perl も PHP もオブジェクトを Ruby ほど端的に書けないし、Perl はベストプラクティスという言葉が定着しているけど、PHP にはそう呼べるようなものもないし、どうしてもそこまでたどりつくのに時間が掛かるような気がする。 

More