私は最近、関数型プログラミング言語の人気が高まっていることに気付きました。Tiobe Indexの人気が昨年と比較してどのように増加しているのかを最近見ましたが、このインデックスによると、それらのほとんどは最も人気のある上位50言語にさえ達していません。
そして、これはかなり以前からそうでした。関数型プログラミングは、他のモデルほど普及していません(つまり、オブジェクト指向プログラミング)。
関数型プログラミングの力に生まれ変わりましたが、マルチコアの人気が高まっているため、開発者はHaskellやErlangなどの言語で既に検討されている他の並行性モデルに関心を示し始めています。
コミュニティの大きな受け入れがないにもかかわらず、この種の言語がますます出現しているという事実に大きな関心を持っています。Clojure(2007)、Scala(2003)、F#(2002)は、最近の10年間のほんの3つの例です。
私自身、HaskellとScalaを学ぶのに時間を費やしてきました。そして、私は長い間そこにいたにもかかわらず、私にとっては新しいパラダイムに大きな可能性を見出しました。
そしてもちろん、私の最大の質問は、これらのいずれかが努力を検討するのに十分人気があるかどうかですが、これはすべての大騒ぎの人々がそれらについて作っているにもかかわらず、Mandrakeでさえ答えることができない質問です。
私が聞きたいのは:
- 特定のタスクを実行するのにより適した関数型プログラミング言語を検討すべきシナリオはどれですか?並列プログラミングの最近人気のマルチコア問題に加えて。
- 関数型プログラミング言語に切り替えることにした場合、私が直面する最大の落とし穴になると思いますか?(パラダイムの変更と、遅延評価によるパフォーマンスの評価の難しさに加えて)。
- 非常に多くの関数型プログラミング言語がありますが、ニーズに合った言語をどのように選択しますか?
さらなる研究のための推奨事項は大歓迎です。
私は意見を求めてウェブを検索しましたが、この新たな人気はすべて、ムーアの法則の壁にぶち当たろうとしているという考えから来ているようです。しかし、そうだとすれば、既存の一般的な言語がパラダイムに適応する可能性はもっと高いと思います。
おそらくこれらの言語を毎日使用する経験が豊富な人の中には、このテーマに関するより多くの洞察を提供できる人もいます。あなたの意見はすべて高く評価され、慎重に検討されます。
前もって感謝します!