यह उत्तर एक व्यापक उत्तर से अधिक कहानी है, लेकिन मैंने कम्प्यूटेशनल भाषाविज्ञान में अपने शोध प्रबंध के लिए हास्केल, पायथन और सी ++ का मिश्रण किया, साथ ही साथ कई सी और जावा टूल्स जिन्हें मैंने नहीं लिखा था। मुझे पास्कन का उपयोग गस्क कोड के रूप में हास्केल, सी ++ और जावा प्रोग्राम शुरू करने के लिए, एक अलग प्रक्रिया के रूप में सब कुछ चलाने के लिए सबसे आसान पाया।
सी ++ एक काफी सरल, तंग लूप था जो फीचर घटनाओं की गणना करता था। असल में यह सब गणित और सरल I/O था। मैंने वास्तव में पाइथन गोंद कोड #define
एस से भरा शीर्षलेख लिखकर और पुनः संकलन करके विकल्पों को नियंत्रित किया। हैकी की तरह, लेकिन यह काम किया।
हास्केल सभी इंटरमीडिएट प्रोसेसिंग था: मैंने उपयोग किए गए विभिन्न सी और जावा पार्सर्स से जटिल आउटपुट लेते हुए, बाहरी डेटा फ़िल्टर करना और सी ++ कोड की अपेक्षाकृत सरल प्रारूप को बदलना। फिर मैंने सी ++ आउटपुट लिया और इसे लाटेक्स मार्कअप में बदल दिया (अन्य प्रारूपों के बीच)।
यह एक ऐसा क्षेत्र है जहां आप पाइथन मजबूत होने की अपेक्षा करेंगे, लेकिन मुझे पता चला कि हास्केल जटिल संरचनाओं में हेरफेर बनाता है; पाइथन साधारण लाइन-टू-लाइन ट्रांसफॉर्मेशन के लिए शायद बेहतर है, लेकिन मैं पार्स पेड़ को टुकड़ा कर रहा था और मुझे लगा रहा था और मैंने पाया कि जब मैंने पायथन में कोड लिखा था तो मैं इनपुट और आउटपुट प्रकार भूल गया था।
चूंकि मैं एक और अधिक संरचित स्क्रिप्टिंग भाषा की तरह हास्केल का उपयोग कर रहा था, इसलिए मैंने कुछ फ़ाइल I/O उपयोगिताएं लिखनी समाप्त कर दीं, लेकिन इससे परे, पेड़ और सूची में हेरफेर के लिए निर्मित पुस्तकालयों में पर्याप्त मात्रा में पर्याप्तता थी।
संक्षेप में, यदि आपको मेरी तरह कोई समस्या है, तो मैं स्मृति-बाधित, गति-महत्वपूर्ण भाग, उच्च स्तरीय परिवर्तनों के लिए हास्केल और पाइथन को चलाने के लिए सी ++ का सुझाव दूंगा।
स्रोत
2010-08-22 22:07:48
यह वर्णन करना उपयोगी होगा कि आप किस प्रकार के एप्लिकेशन को बनाने की योजना बना रहे हैं। –
मेरे पास कई परियोजनाएं हैं I प्रत्येक वास्तव में अलग है। महत्वपूर्ण बात यह है कि हास्केल अच्छा है, सी ++ से बेहतर है, और उसके बाद हास्केल को सीखने और अपने आप से न्याय करने के लिए हास्केल को इस तरह से कोड करने का प्रयास करें। –