Ticari Yazılımlarda Fonksiyonel Programlama


12

Geçenlerde bir iş arkadaşıyla fonksiyonel programlamayı tartışıyordum. İkimiz de FP'nin bazı belirgin faydaları (daha basit kod, matematiksel olarak akıl yürütmesi daha kolay, vb.) Olduğu konusunda hemfikir olsa da, ikisinin de ticari yazılımlarda kullanılıp kullanılmayacağını merak ettik.

İşlevsel olarak yazılmış bir dizi açık kaynak ve akademik proje olduğunu biliyorum (örneğin, bu soruyu Stack Overflow'da gördüm ), ancak en azından kısmen yazılmış olan başka bir ticari yazılımı listeleyebilecek olup olmadığını merak ediyorum, işlevsel bir dilde (ve hangi dilde).


3
Google'da ilk hit: haskell.org/haskellwiki/Haskell_in_industry . Bu sayfadaki sorun ne? Yeterince ayrıntılı değil misiniz? Yeterince net değil misiniz? Yeterince yeni değil misiniz?
S.Lott

@ S.Lott - Stack Exchange sitesinde değil misiniz? - Yığın değişim siteleri hakkında başka yerlerde birçok soru sorulmuştur, ancak burada da sormanın uygun olduğuna dair açık bir politika vardır. Haskell.org'un yarın ortadan kalkacağından şüpheliyim, ancak web siteleri gelip gidiyor. Her durumda, fonksiyonel programlama her zaman Haskell anlamına gelmez.
Steve314

@ Steve314: Biraz araştırma daha iyi bir soru yaratabilirdi.
S.Lott

@ S.Lott - muhtemelen - tüm bu madde işareti cevaplarının bu kadar faydalı olduğundan emin değilim. Çok fazla madde yok - sadece "tüm bu projeler yanlış olamaz". Ama sonra, soru şu soruyor, bu yüzden ...
Steve314

Bu sunum da biraz ışık tutabilir: scribd.com/doc/45049621/…
9000

Yanıtlar:


8

Hiç cep telefonu kullandınız mı? Erlang, telekomünikasyon alanında niş bir pazara sahiptir, ancak Facebook tarafından sohbet işlevselliğini uygulamak için de kullanılmaktadır. Üretimde Erlang kullanan aşağıdaki şirketler için bu SSS'ye bakın :

  • Aptela (VoIP Servis Sağlayıcısı)
  • Bluetail / Alteon / Nortel (dağıtılmış, hataya dayanıklı e-posta sistemi, SSL hızlandırıcı)
  • Corelatus (SS7 izleme).
  • CouchDB (MapReduce kullanarak belge tabanlı veritabanı)
  • dqdp.net (Letonca dilinde) (Web Hizmetleri).
  • Ericsson (AXD301 ATM anahtarı)
  • Facebook (Facebook sohbet arka ucu)
  • Finlandiya Meteoroloji Enstitüsü (Veri toplama ve gerçek zamanlı izleme)
  • Goldman Sachs (yüksek frekans ticaret programları)
  • IDT corp. (Gerçek zamanlı en düşük maliyetli yönlendirme uzman sistemleri)
  • IEISS. (Elektronik finansal araç değişim yazılımı)
  • Klarna (Elektronik ödeme sistemleri)
  • Lindenbaum (Büyük ölçekli sesli konferans)
  • Mobilearts (GSM ve UMTS hizmetleri)
  • Netkit Çözümleri (Ağ Ekipmanı İzleme ve Operasyon Destek Sistemleri)
  • Birinci işlem (Jabber Messaging)
  • Quviq (Yazılım Test Aracı)
  • RabbitMQ (AMQP Kurumsal Mesajlaşma)
  • Schlund + Partner (Mesajlaşma ve Etkileşimli Sesli Yanıt hizmetleri)
  • Smarkets (Bahis Borsası ve Tahmin Piyasası)
  • T-Mobile (önceden one2one) (gelişmiş çağrı kontrol hizmetleri)
  • Telia (telecomms operatörü)
  • Textendo (Yenilikçi kısa mesaj servisleri)
  • Vail Sistemleri (Sesli Yanıt Sistemleri)
  • Wavenet (SS7 ve IVR uygulamaları)

4

LinkedIn, Twitter, eBay, Sony Animation Studio, Gaurdian, FourSquare ve diğerleri Scala'yı kapsamlı bir şekilde kullanıyor.


1
Evet, ama Scala FP değil, sadece bazı FP kavramlarını kullanıyor :)
sakisk

@ faif, ne saçmalık! İfadeniz FP veya Scala veya her ikisi hakkında çok az şey bildiğinizi gösterir. 2+ yıldır Scala kullanıyorum ve Scala'da yazdığım kod Haskell'de yazdığım koddan çok farklı görünmüyor. Koduma, duruma bağlı olarak IO monad kullanmayı seçebileceğim veya seçemeyeceğim IO sınırları hariç, tamamen işlevsel bir şekilde yazıyorum.
missingfaktor

2
Benim yorumum bir şakaydı, kaba olma. Scala'nın sadece FP kısımlarını kullanıyor olmanız onu bir FP dili yapmıyor. Bir nedenden dolayı 2 programlama paradigmasını karıştırmaya çalışıyor ...
Sakisk

@faif, şaka yapıp yapmadığınızı veya ciddi olup olmadığınızı nasıl bilebilirim? Dahası, bunun bir FPL olmadığını söyleyerek devam edersiniz, önceki ifadenizi anlamsız ve sahtekâr hale getirir. İki paradigmayı harmanladığı için bunun bir FPL olmadığını söylüyorsanız, bu noktayı tamamen kaçırdınız . Söyleyecek değerli bir şeyiniz yoksa lütfen zamanımı boşa harcamayın.
missingfaktor

2
Hiç bir anlam ifade etmiyorsun.
missingfaktor


1
  • JaneStreet (bir riskten korunma fonu) OCaml kullanır.
  • Credit Suisse (bir banka) F # kullanır.
  • BarCap'in (bir banka) türev kazançları tanımlamak için Haskell'i kullanmak istediğini duydum. Bunun ne kadar ileri gittiğini bilmiyorum.

RE: Barcap - üretime kadar: lexifi.com/files/resources/frankau.pdf
Ed'ka

PDF'den: "Buradaki ders, belki de gümüş mermi olmamasıdır. İşlevsel bir yaklaşım görevimizi büyük ölçüde basitleştirirken, algoritmik karmaşıklık gibi genel sorunlar bir kenara bırakılamaz. Ayrıca, bu konular formlarda ortaya çıkabilir. kişi tanımıyor, böylece geliştiricinin önceki deneyimleri yeniden öğrenmesi gerekiyor. "
quant_dev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.