商用ソフトウェアでの関数型プログラミング


12

私は最近、同僚と関数型プログラミングについて議論していました。FPにはいくつかの明らかな利点(単純なコード、数学的に簡単に推論できるなど)があることに2人で合意しましたが、どちらも商用ソフトウェアで使用されるのか、使用されるのかを考えました。

機能的に書かれたオープンソースやアカデミックなプロジェクトがたくさんあることは知っています(たとえば、Stack Overflowでこの質問を見たことがあります)が、少なくとも部分的に書かれた他の商用ソフトウェアをリストできる人はいないかと思います関数型言語(およびどの言語)で。


3
Googleでの最初のヒット:haskell.org/haskellwiki/Haskell_in_industry。このページの何が問題になっていますか?詳細が足りませんか?十分に明確ではない?十分ではありませんか?
S.Lott

@ S.Lott-Stack Exchangeサイトではありませんか?-スタック交換サイトに関する多くの質問が他の場所で尋ねられましたが、ここでも質問をしてもよいという明確なポリシーがあります。haskell.orgは明日消えるとは思わないが、ウェブサイトは行き来する。いずれにせよ、関数型プログラミングは常にHaskellを意味するとは限りません。
Steve314

@ Steve314:少しの研究でもっと良い質問ができたでしょう。
-S.ロット

@ S.Lott-おそらく-これらの箇条書きのすべての回答が有用であるとは限らない。それほど多くはありません-「これらのプロジェクトはすべて間違ってはいけません」というだけです。しかし、それは質問が求めるものですので
...-Steve314

このプレゼンテーションはまた、いくらか光を放つかもしれません:scribd.com/doc/45049621/…–
9000

回答:


8

携帯電話を使用したことがありますか?Erlangには通信のニッチ市場がありますが、Facebookでもチャット機能の実装に使用されています。実稼働環境でErlangを使用している以下の企業については、このFAQを参照してください

  • Aptela(VoIPサービスプロバイダー)
  • Bluetail / Alteon / Nortel(分散型、フォールトトレラントメールシステム、SSLアクセラレータ)
  • Corelatus(SS7モニタリング)。
  • CouchDB(MapReduceを使用したドキュメント指向データベース)
  • dqdp.net(ラトビア語)(Webサービス)。
  • エリクソン(AXD301 ATMスイッチ)
  • Facebook(Facebookチャットバックエンド)
  • フィンランド気象研究所(データ収集とリアルタイム監視)
  • ゴールドマンサックス(高頻度取引プログラム)
  • IDT corp。(リアルタイムの最小コストのルーティングエキスパートシステム)
  • IEISS。(電子金融商品交換ソフトウェア)
  • Klarna(電子決済システム)
  • リンデンバウム(大規模音声会議)
  • Mobilearts(GSMおよびUMTSサービス)
  • Netkitソリューション(ネットワーク機器監視および運用サポートシステム)
  • プロセス1(Jabberメッセージング)
  • Quviq(ソフトウェアテストツール)
  • RabbitMQ(AMQPエンタープライズメッセージング)
  • Schlund + Partner(メッセージングおよび対話型音声応答サービス)
  • Smarkets(賭け交換および予測市場)
  • T-Mobile(以前はone2one)(高度な呼制御サービス)
  • Telia(テレコムオペレーター)
  • Textendo(革新的なテキストメッセージングサービス)
  • Vail Systems(対話型音声応答システム)
  • Wavenet(SS7およびIVRアプリケーション)

4

LinkedIn、Twitter、eBay、Sony Animation Studio、Gaurdian、FourSquare、および他の多くの企業がScalaを幅広く利用しています。


1
はい。ただし、ScalaはFPではありません
。FPの

@faif、なんてこった!あなたの声明は、あなたがFPまたはScalaまたはその両方についてほとんど知らないことを示しています。私は2年以上Scalaを使用していますが、Scalaで記述したコードは、Haskellで記述したコードとあまり変わらないようです。状況に応じてIOモナドを使用する場合と使用しない場合があるIO境界を除き、純粋に機能的な方法でコードを記述します。
missingfaktor

2
私のコメントは冗談でした、失礼ではありません。ScalaのFP部分のみを使用しているという事実は、それをFP言語にしません。理由のために2つのプログラミングパラダイムをブレンドしようとしています
...-sakisk

@faif、あなたが冗談を言っているのか、真面目なのかをどのようにして知るのですか?さらに、あなたは再びそれがFPLではないと言って、あなたの前の声明を無意味で不誠実にします。2つのパラダイムを融合しているため、FPLではないと言う場合、ポイントを完全に逃しています。言う価値のないものがあれば、時間を無駄にしないでください。
-missingfaktor

2
あなたはまったく意味をなさない。
missingfaktor

1

StackOverflowでこのトピックに関する議論がすでにいくつかあります。Clojureの本番準備をご覧ください

私の周囲からの例が含まれています:

  • クロージュア
  • スカラ
  • Chicken(スキームコンパイラ)

ああ、平均を破って読むことを忘れないでください


すでにそれを読んで=)素晴らしい記事ですが、間違いなくFPについてもっと学び始めるように私を押した
-akobre01

1
  • JaneStreet(ヘッジファンド)はOCamlを使用しています。
  • Credit Suisse(銀行)はF#を使用しています。
  • BarCap(銀行)がHaskellを使用してデリバティブのペイオフを説明したいと聞いたことがあります。これがどこまで進んだかわかりません。

RE:Barcap-本番まで:lexifi.com/files/resources/frankau.pdf
Ed'ka

PDFから:「ここでの教訓は、おそらく、特効薬がないということです。機能的なアプローチはタスクを大幅に簡素化しましたが、アルゴリズムの複雑さなどのありふれた問題は脇に置くことはできません。開発者は以前の経験を再学習しなければならないように、認識していません。」
quant_dev
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.