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