2011年4月19日

[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を使って実用的なコードを書かれている方に
解説記事を書いていただけると良いのですが‥‥。


投稿者 xml-rpc : 2011年4月19日 09:48
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103199
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。