2

私は関数型プログラミングが大好きで、Ruby も大好きです。命令型スタイルではなく関数型スタイルでアルゴリズムをコーディングできる場合は、それを行います。私はできるだけ変数を更新したり再利用したりしないようにしています。メソッドを使用し、「each」や危険ループなどの代わりに「map」、「reduce」、および同様の関数を使用します。基本的には、この記事のルールに従うようにしています。

問題は、通常、機能的なソリューションは命令的なソリューションよりもはるかに遅いことです。この記事には、場合によっては 15 倍から 20 倍遅くなるという、明確で恐ろしい例があります。それを読んでいくつかのベンチマークを行った後、少なくともRubyでは関数型スタイルを使い続けることを恐れています。

一方、私は関数型スタイルでコードを書くほうがスマートでクリーンで、バグが少ない傾向があるため、より快適にコードを書くことができます。特に最近では、同時実行と並列処理を使用してパフォーマンスを向上させることができるため、より「正しい」と思います。

そのため、Ruby でどのスタイルを使用するかについて非常に混乱しています。賢明な勧告をいただければ幸いです。

4

0 に答える 0