• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数型言語の普及について)

関数型言語の普及について

このQ&Aのポイント
  • 関数型言語の普及について
  • 関数型言語の魅力とは何か、なぜ普及していないのか
  • 関数型言語と従来の言語の違いと利点

質問者が選んだベストアンサー

  • ベストアンサー
  • morchin
  • ベストアンサー率16% (212/1281)
回答No.3

難しいからではないでしょうか? 簡単で性能(パフォーマンス、保守性)が良ければ普及すると思います。開発に求められているのは、安定性、保守性、開発スピードなどだと思いますので、これらに対し効率が良ければ使用されるはずです。 ドキュメントやライブラリは後で充実させていけば良いのです。ある一定の水準に達すれば、実用になると思います。 あとは、資産も重要で、過去に作ったアプリやライブラリがCならC/C++で作るのが良いでしょう。 また、資産という意味では、手続き型の考え方がインプットされているという点も重要だと思います。 但し、開発にリソースを避けられるなど、必ずしも過去にこだわる必要がない場合もありますので、その場合は重要でないかもしれません。 例えば、趣味でフリーソフトを作るという場合は、必ずしも資産が重要でないと思います。 最近は関数型言語が注目されて、書籍やウェブの情報が充実してきているので、徐々に普及すると思いますが、C/C++やPythonレベルには行かないと思います。 また、C++は真面目に考えれば難しいですが、難しいことをしなければ簡単です。 関数型言語が強力と言っても、性能を引き出すのは難しいと思います。Ruby、Python、C#でもある程度関数型言語の機能を取り入れているため、Haskellで書くメリットはなかなか出てこないと思われます。 良いプログラミングをするには、単に書ければ良いのではなく、言語を知り尽くして初めて出来るものだと思います。

その他の回答 (3)

  • morchin
  • ベストアンサー率16% (212/1281)
回答No.4

適用領域が狭いからではないでしょうか? C/C++が普及している = 適用領域が広い Haskellが普及していない = 適用領域が狭い 言語はそれぞれ得意分野を持ちます。不得意分野に対して、その言語で開発しないでしょう。Haskellが得意な分野というのは極端に狭いと思います。

回答No.2

個人的な意見でいいんですか? 1:静的型付けはメンド臭い。 Rubyと敢えて比較すると、単に動的型付けの方がプログラミングがラクだから。 2:スピードが遅い。 まあ、これは良く言われていますね。 3:副作用だらけでも困るけど、副作用が全くない、ってのも困る。 しかもモナドはややこしい。イスラエルの諜報機関もビックリです。 4:プログラマは理系のフリをしてるけど、実際は数学が嫌い。 ......。 参考までに。

ktoss319
質問者

お礼

静的型付けはJavaやC++等、むしろ主流なのではないでしょうか? スピードが遅いというのは知りませんでした。参照透過性によって最適化がしやすいとか 書いてあるのも見かけたのですが、Cより速くなることはあまりないみたいですね。 副作用については確かにそうですね。たかがIOにモナドという仕組みが必要なのは確かに 入門者には難しいです。 プログラマは数学が嫌い、はちょっと同意するところがあります(笑)

  • hoge_piyo
  • ベストアンサー率57% (15/26)
回答No.1

ある意味、いままでの手続き型やオブジェクト指向で今現在は間に合っているからではないでしょうかね。実際の業務で使用するプログラムとなると、やはり信頼性、安定性などがもとめられますし。 実際中身が優れているとしても、今まで使用している言語で、ある程度の水準のものが作成できるなら、無理に変化をもとめて新しい言語を使おうとは思わないからではないでしょうか。 あとは言語の普及には、単にその言語が優れているだけではなく、ドキュメントが整備されていたり、ライブラリが充実していたりなど、色々な要因が関係していますし。

ktoss319
質問者

お礼

早速の回答有り難うございます。 > 手続き型やオブジェクト指向で今現在は間に合っているから Haskellが新しい言語であれば僕もそう思います。 しかし、Haskellはかなり昔からある言語ですし、関数型の概念はさらにその昔からあるようです。やはり関数型に明白な欠点(関数型の考え方が人の思考に合わなしていたり等)があるから、普及していないのだと思えるのです。 > ドキュメントが整備されていたり、ライブラリが充実していたりなど 確かにそうですね。しかし、僕の好きなRubyという言語は後発ということもあり、10年ほど前はかなりドキュメント、ライブラリ共に貧弱だったようです。それが今では少しずつ大きくなってきたコミュニティによって整備されてきたために、使いやすくなっています。 なので、もし良い言語であればライブラリもドキュメントもおのずと整備されていくのだと思っています。

関連するQ&A