वाणिज्यिक सॉफ्टवेयर में कार्यात्मक प्रोग्रामिंग


12

मैं हाल ही में एक सहकर्मी के साथ कार्यात्मक प्रोग्रामिंग पर चर्चा कर रहा था। जबकि हम दोनों ने सहमति व्यक्त की कि एफपी के कुछ स्पष्ट लाभ हैं (सरल कोड, गणितीय रूप से इसके बारे में तर्क करना आसान है), हम दोनों ने आश्चर्यचकित किया कि क्या यह कभी नहीं किया गया है या इसका उपयोग वाणिज्यिक सॉफ्टवेयर में किया जाएगा।

मुझे पता है कि कई खुले स्रोत और अकादमिक परियोजनाएं हैं जो कार्यात्मक रूप से लिखे गए हैं (जैसे मैंने स्टैक ओवरफ्लो पर यह प्रश्न देखा है ), लेकिन मैं सोच रहा हूं कि क्या कोई अन्य व्यावसायिक सॉफ़्टवेयर लिख सकता है जो कम से कम भाग में लिखा हो। एक कार्यात्मक भाषा में (और किस भाषा में)।


3
Google पर पहला हिट: haskell.org/haskellwiki/Haskell_in_ind Industries । इस पृष्ठ में क्या गलत है? पर्याप्त विस्तृत नहीं है? पर्याप्त स्पष्ट नहीं है? हाल ही में पर्याप्त नहीं है?
S.Lott

@ S.Lott - एक स्टैक एक्सचेंज साइट पर नहीं? - स्टैक एक्सचेंज साइटों पर कई सवाल कहीं और पूछे गए हैं, लेकिन एक स्पष्ट नीति है कि उन्हें यहां भी पूछना ठीक है। मुझे शक है haskell.org कल गायब हो जाएगा, लेकिन वेब साइट आते हैं और जाते हैं। किसी भी मामले में, कार्यात्मक प्रोग्रामिंग का मतलब हमेशा हास्केल नहीं होता है।
स्टीव

@ स्टीव ३१४: थोड़े से शोध ने बहुत बेहतर सवाल पैदा किया होगा।
S.Lott

@ S.Lott - शायद - यकीन नहीं है कि ये सभी बुलेट सूची उत्तर उपयोगी हैं। अधिक पदार्थ नहीं - "ये सभी परियोजनाएं गलत नहीं हो सकती हैं"। लेकिन फिर, यही वह सवाल है, जिसके लिए पूछता है ...
स्टीव ३१४

यह प्रस्तुति कुछ प्रकाश भी डाल सकती है: scribd.com/doc/45049621/…
9000

जवाबों:


8

कभी एक सेल फोन का इस्तेमाल किया? Erlang का दूरसंचार में एक आला बाजार है, लेकिन इसका उपयोग फेसबुक द्वारा अपनी चैट कार्यक्षमता को लागू करने के लिए भी किया जाता है। उत्पादन में एर्लैंग का उपयोग करने वाली निम्नलिखित कंपनियों के लिए यह FAQ देखें :

  • आप्टेला (वीओआईपी सेवा प्रदाता)
  • Bluetail / Alteon / Nortel (वितरित, दोष सहिष्णु ईमेल सिस्टम, SSL त्वरक)
  • कोरेलैटस (एसएस 7 निगरानी)।
  • CouchDB (MapReduce का उपयोग करते हुए दस्तावेज़-उन्मुख डेटाबेस)
  • dqdp.net (लातवियाई में) (वेब ​​सेवा)।
  • एरिक्सन (AXD301 एटीएम स्विच)
  • फेसबुक (फेसबुक चैट बैकेंड)
  • फिनिश मौसम विज्ञान संस्थान (डेटा अधिग्रहण और वास्तविक समय की निगरानी)
  • गोल्डमैन सैक्स (उच्च आवृत्ति व्यापार कार्यक्रम)
  • IDT कॉर्प। (वास्तविक समय कम से कम लागत वाली रूटिंग विशेषज्ञ प्रणाली)
  • IEISS। (इलेक्ट्रॉनिक वित्तीय साधन विनिमय सॉफ्टवेयर)
  • Klarna (इलेक्ट्रॉनिक भुगतान प्रणाली)
  • लिंडेनबाम (बड़े पैमाने पर आवाज कॉन्फ्रेंसिंग)
  • Mobilearts (जीएसएम और UMTS सेवाएँ)
  • Netkit समाधान (नेटवर्क उपकरण निगरानी और संचालन सहायता प्रणाली)
  • प्रक्रिया-एक (जब्बर संदेश)
  • Quviq (सॉफ्टवेयर टेस्ट टूल)
  • RabbitMQ (AMQP एंटरप्राइज मैसेजिंग)
  • श्लंड + पार्टनर (मैसेजिंग और इंटरएक्टिव वॉयस रिस्पांस सर्विसेज)
  • Smarkets (सट्टेबाजी विनिमय और भविष्यवाणी बाजार)
  • टी-मोबाइल (पहले वाला वन 2 ऑन) (उन्नत कॉल नियंत्रण सेवाएं)
  • तेलिया (एक टेलीकॉम ऑपरेटर)
  • Textendo (अभिनव पाठ संदेश सेवा)
  • वेल सिस्टम (इंटरएक्टिव वॉयस रिस्पांस सिस्टम)
  • Wavenet (SS7 और IVR अनुप्रयोग)

4

लिंक्डइन, ट्विटर, ईबे, सोनी एनिमेशन स्टूडियो, गौर्डियन, फोरस्क्वेयर और कई अन्य स्कैला का व्यापक उपयोग करते हैं।


1
हां, लेकिन स्काला एफपी नहीं है, यह सिर्फ कुछ एफपी अवधारणाओं का उपयोग करता है :)
सैकिस

@ आतिफ, क्या बकवास है! आपका कथन इंगित करता है कि आप एफपी या स्काला या दोनों के बारे में कम जानते हैं। मैं अब 2 साल के लिए स्काला का उपयोग कर रहा हूं, और स्काला में जो कोड मैं लिख रहा हूं, वह हास्केल में जो मैं लिखूंगा उससे बहुत अलग नहीं है। मैं अपना कोड शुद्ध कार्यात्मक तरीके से लिखता हूं, केवल IO सीमाओं को छोड़कर, जहां स्थिति के आधार पर, IO monad का उपयोग करने के लिए मैं चुन सकता हूं या नहीं भी।
गुमशुदा

2
मेरी टिप्पणी एक मजाक थी, असभ्य मत बनो। यह तथ्य कि आप केवल Scala के FP भागों का उपयोग कर रहे हैं, वह इसे FP भाषा नहीं बनाता है। यह एक कारण के लिए 2 प्रोग्रामिंग प्रतिमानों को
मिलाने

@ अल्फा, मुझे कैसे पता चलेगा कि आप मजाक कर रहे हैं या गंभीर हैं? इसके अलावा आप फिर से कहते हैं कि यह एफपीएल नहीं है, जो आपके पिछले कथन को अर्थहीन और बेईमान बनाता है। यदि आप कहते हैं कि यह एफपीएल नहीं है क्योंकि यह दो प्रतिमानों को मिश्रित करता है, तो आप पूरी तरह से बिंदु से चूक गए हैं । यदि आपके पास कहने के लिए कुछ भी नहीं है तो कृपया मेरा समय बर्बाद करना बंद करें।
लापताफैक्टर

2
आप बिलकुल समझ नहीं रहे हैं।
लापताफैक्टर

1

StackOverflow पर इस विषय पर पहले से ही कई चर्चाएँ हैं: देखें क्लोजर उत्पादन तैयार है?

मेरे आसपास के उदाहरणों में शामिल हैं:

  • Clojure
  • स्काला
  • चिकन (एक योजना संकलक)

ओह, और बीटिंग एवरेज पढ़ना न भूलें


पहले से ही इसे पढ़ा =) शानदार लेख हालांकि और निश्चित रूप से मुझे FP के बारे में अधिक जानने के लिए धक्का दिया
akobre01

1
  • जेनकिट (एक बचाव निधि) OCaml का उपयोग करता है।
  • क्रेडिट सुइस (एक बैंक) एफ # का उपयोग करता है।
  • मैंने सुना है कि BarCap (एक बैंक) व्युत्पन्न अदायगी का वर्णन करने के लिए हास्केल का उपयोग करना चाहता था। मैं नहीं जानता कि यह कितनी दूर चला गया।

पुन: Barcap - उत्पादन के सभी तरीके: lexifi.com/files/resources/frankau.pdf
एडका

पीडीएफ से: "यहां सबक, शायद, यह है कि कोई चांदी की गोली नहीं है। जबकि एक कार्यात्मक दृष्टिकोण ने हमारे काम को बहुत सरल कर दिया है, एल्गोरिथम कॉम-प्लेक्सिटी जैसे सामान्य मुद्दों को अलग नहीं किया जा सकता है। इसके अलावा, ये मुद्दे रूपों में फसल कर सकते हैं। कोई नहीं पहचानता है, ताकि डेवलपर को पिछले अनुभवों को फिर से भरना पड़े। "
quant_dev
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.