From: Satoshi GUNJI Date: 2011-04-19T09:48:46+09:00 Subject: [ruby-list:47985] Re: るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか 郡司と申します。 > 桑田です。 > そうなんです。 > 「Pythonのgeneratorと同じようなもん」で通じれば話は早いんですけど。 ですね。 (RubyのブロックもPythonのジェネレータも繰り返し以外の用途も ありますが、代表的な例として)「繰り返しの抽象化」という 動機に対して、 ・Pythonはジェネレータ ・Rubyはブロック を「文法としてサポートしている」のがそれぞれの強みだと 個人的には考えています。 もちろんRubyでもFiberを使えばPythonのジェネレータと 同様のことが出来ますし、Pythonでも高階関数を使えば Rubyのブロックと同様のことができますが、やはり 文法のサポートが大きい、というのが私の印象です。 そして ・PythonのジェネレータやRubyのFiberは「制御の流れ」  を抽象化したものなので「手続き型言語的」 ・Rubyのブロックは「関数(厳密には違うけれど‥‥)」  を抽象化したものなので「関数型言語的」 と私は感じます。 > Fiberは1.9のキラー機能だと思うので、Fiberが使いたいから1.8やめて > 1.9に移行したくなるような解説記事を望んでいます。 手続き型言語・関数型言語のどちらのパラダイムも 重要なのですが、両方知っていたほうが表現の幅が広がるので、 RubyistもFiberを学びましょう‥‥というのでは動機としては 弱いかもしれませんね。 普段からFiberを使って実用的なコードを書かれている方に 解説記事を書いていただけると良いのですが‥‥。