मुझे एक नई परियोजना के लिए दूसरी भाषा पर क्लोजर क्यों चुनना चाहिए? यह किस क्षेत्र में उत्कृष्ट है?नए विकास के लिए क्लोजर का उपयोग करने के लिए सबसे अच्छे उपयोग के मामले क्या हैं?
उत्तर
कुछ परिदृश्य जहाँ मैं Clojure का प्रयोग करेंगे:
आप एक नया, अत्यधिक समवर्ती आवेदन मज़बूती से पैमाने पर करने की जरूरत है कि निर्माण कर रहे हैं। मेरी राय में, क्लोजर की समवर्ती विशेषताएं (एसटीएम, अपरिवर्तनीय-दर-डिफ़ॉल्ट, लॉक फ्री एमवीसीसी) वर्तमान में प्रमुख भाषा का सर्वोत्तम है। Rick Hickey's excellent video पहचान और राज्य के बारे में एक महसूस करने का एक शानदार तरीका है।
आप एक जावा आधारित दुकान है कि एक उत्पादक गतिशील भाषा कि तेजी से विकास या स्क्रिप्टिंग के लिए इस्तेमाल किया जा सकता है, जबकि एक बड़े जावा कोड बेस में अपने निवेश को बनाए रखने के लिए करना चाहता है। मुझे क्लोजर "कोडिंग एक साथ" जावा कोड पर बहुत प्रभावी पाया गया है क्योंकि इंटरऑप क्षमताओं बेहद अच्छे हैं (और सरल!)।
आप एक कार्यात्मक प्रोग्रामिंग भाषा उपयोग करना चाहते हैं Clojure बहुत अच्छी है (यह काफी के रूप में नहीं "शुद्ध" है हास्केल के रूप में है, लेकिन सभी प्रमुख विशेषताएं है - प्रथम श्रेणी काम करता है, उच्च आदेश समारोह रचना, अचल स्थिति, आलस्य)
आप एक क्षेत्र है जहां कोड हेरफेर के लिए एक प्रमुख आवश्यकता है में काम करते हैं (compilers, DSLs, प्राकृतिक भाषा संसाधन, आनुवंशिक प्रोग्रामिंग), जहां लिस्प दर्शन आप अत्यंत उत्पादक होने के लिए सक्षम बनाता है "कोड डेटा है" । यह सामान्य रूप से homoiconic LISP आधारित भाषाओं के लिए एक मीठा स्थान है।
डेविन का जिक्र करने वाले बिल्कुल अपरिवर्तनीय गैर-उत्तर प्रदान करने के जोखिम पर: मैंने क्लोजर चुना क्योंकि मुझे कार्यात्मक प्रोग्रामिंग शैली पसंद है और क्लोजर मुझे जेवीएम पर ऐसा करने देता है और कई मौजूदा कोड के साथ इंटरऑप करता है जेवीएम पर चलता है।
तो सवाल तब बन जाता है: क्यों कार्यात्मक प्रोग्रामिंग?
अपरिवर्तनीय स्थिति - दुष्प्रभावों की कमी, आसान परीक्षण, समवर्तीता के लिए बेहतर समर्थन (और, भविष्य में, समांतरता)।
छोटे, कार्यात्मक घटकों जिन्हें आसानी से पुन: उपयोग किया जा सकता है और बड़े, लचीली प्रणालियों के निर्माण के लिए बनाया जा सकता है।
क्लोजर डेवलपर्स को ढूंढना बहुत मुश्किल है, इसलिए यदि आप एक बड़ी कंपनी के लिए काम करते हैं और जावा या नेट के साथ चिपकते हैं तो मैं इससे दूर रहूंगा। यह बड़ी कंपनियों में तकनीकी निर्णय से ज्यादा राजनीतिक है। यदि आप अपना खुद का उत्पाद बना रहे हैं तो क्लोजर विकसित करना बहुत तेज़ है और आपको तेजी से बाजार में ले जा सकता है।
- 1. कोरआउट के लिए उपयोग-मामले क्या हैं?
- 2. jQuery का उपयोग करने के लिए सबसे अच्छे संदर्भ क्या हैं?
- 3. पायथन के __new__ के लिए उपयोग के मामले क्या हैं?
- 4. vi के लिए सामान्य उपयोग के मामले क्या हैं?
- 5. अक्का माइक्रोक्रोनल का उपयोग करने के लिए कुछ सामान्य उपयोग के मामले क्या हैं?
- 6. गिट अनाथ शाखाओं के लिए उपयोग के मामले क्या हैं?
- 7. क्या 'scala.swing' का उपयोग करने के अच्छे उदाहरण हैं?
- 8. बेंचमार्किंग और तनाव परीक्षण के लिए खोज परीक्षण एल्गोरिदम के लिए अच्छे परीक्षण मामले क्या हैं?
- 9. सी ++ 11 में टुपल्स के लिए अच्छे उपयोग-मामले क्या हैं?
- 10. कक्षा सहायकों के लिए अच्छे उपयोग क्या हैं?
- 11. फ़्लैश अनुप्रयोगों के विकास के लिए सबसे अच्छा ओपन सोर्स टूल क्या हैं? सीखना शुरू करने के लिए सबसे अच्छे स्थान क्या हैं?
- 12. वेब श्रमिकों के लिए उपयोग-मामले क्या हैं?
- 13. सी त्रुटि प्रबंधन के लिए longjmp/setjmp का उपयोग करने के कुछ "अच्छे" तरीके क्या हैं?
- 14. डेल्फी में असेंबली का उपयोग करने के लिए अच्छे संसाधन?
- 15. वेब साइट विकास कंपनी के लिए जावास्क्रिप्ट फ्रेमवर्क का उपयोग करने के खिलाफ तर्क क्या हैं?
- 16. एनएटी पोर्ट अग्रेषण के लिए सबसे अच्छे विकल्प क्या हैं?
- 17. क्लाउड टेक्नोलॉजी के लिए सबसे अच्छे अवलोकन क्या हैं?
- 18. विंडोज पावरशेल सीखने के लिए सबसे अच्छे संसाधन क्या हैं?
- 19. डिजाइन पैटर्न और उनके उपयोग के लिए सबसे अच्छे संसाधन क्या हैं?
- 20. विचारों के लिए क्या अच्छे हैं?
- 21. टेम्पलेट में टाइपनाम के लिए नाम घोषित करने के उपयोग के मामले क्या हैं?
- 22. जेरोमक उपयोग के मामले क्या हैं?
- 23. परियोजनाओं में क्लोजर के लिए मामलों का उपयोग करें
- 24. लिस्प विकास के लिए विम का उपयोग
- 25. वेब विकास के लिए हास्केल का उपयोग करने के मुख्य लाभ क्या हैं?
- 26. वेब विकास के लिए मैक का उपयोग करने के पेशेवर और विपक्ष क्या हैं?
- 27. स्काला अंतिम मामले वर्ग के साथ नए का उपयोग
- 28. सी # के साथ टीडीडी के साथ प्रोग्रामिंग शुरू करने के लिए सबसे अच्छे कदम क्या हैं?
- 29. WinForms के बजाय WPF का उपयोग शुरू करने के लिए सबसे अच्छी रीडिंग क्या हैं?
- 30. क्लोजर मेटाडेटा के कुछ उपयोग क्या हैं?
यह एक चिकन और अंडे परिदृश्य का थोड़ा सा है '- अगर कोई क्लोजर को गोद लेता है, तो डेवलपर्स को ढूंढना मुश्किल है। यदि अधिक कंपनियां इसे अपनाती हैं, तो बाजार में और अधिक डेवलपर्स होंगे। यह देखते हुए कि लिस्प/क्लोजर के पास अनिवार्य रूप से सीखने के लिए कोई वाक्यविन्यास नहीं है, कोर फ़ंक्शन प्रलेखन उत्कृष्ट है (और क्लोजर के बारे में कई महान पुस्तकें हैं) और अवधारणाएं, एक बार महारत हासिल करने के बाद, भाषा के हर हिस्से में लगभग समान रूप से लागू होती हैं, मैं कहूंगा –
में लेने और/या क्रॉस-ट्रेन डेवलपर्स को लेने के लिए एक बहुत ही आसान भाषा हां, यह सच है कि भाषा का एक छोटा वाक्यविन्यास है और सीखना आसान है।मुझे लगता है कि क्लोजर को रूबी के रेल के समकक्ष एक हत्यारा ढांचा मिल जाता है या क्लोजर का उपयोग करके आईबीएम जैसी परियोजनाएं करते हैं, तो यह बहुत तेजी से बढ़ेगा और अधिक बड़ी कंपनियों में उगाया जाएगा। – Zubair
आप क्लोजर को हमेशा "समवर्ती समवर्ती प्रोग्रामिंग के लिए जावा लाइब्रेरी" के रूप में पेश कर सकते हैं .... :-) – mikera