मैं दो चीजों की तलाश कर रहा हूं- गति, और एकीकरण। आमतौर पर दोनों एक साथ और परिचित के साथ जाते हैं। दुर्भाग्य से, C ++ के लिए, बहुत अधिक भाषाएँ नहीं हैं जो गति और एकीकरण प्रदान करती हैं। मैंने लुआ का उपयोग किया है और यह बेकार है। मैंने पूरा समय बाइंडिंग लिखने में बिताया और कहीं नहीं वास्तव में कोड लिखने के लिए पर्याप्त समय था।
भाषा सुविधाएं? स्क्रिप्टिंग भाषा को एम्बेड करने की बात यह नहीं है कि इसमें ऐसी व्हिस्की डायनेमिक भाषा सुविधाएँ हो सकती हैं, जो मेरी मूल भाषा में नहीं है, यह इसलिए है ताकि इसे रन-टाइम में व्याख्यायित किया जा सके । मैं वास्तव में इससे परे परवाह नहीं करता हूं, जब तक कि यह मूल रूप से कार्यात्मक है, तब यह ठीक है- और मेरी मेजबान भाषा (इस मामले में सी ++) के साथ फिट बैठता है। हालांकि, आश्चर्यजनक, जिन भाषाओं में तैयार कर रहे हैं मेजबान अनुप्रयोगों में पूरी तरह से के बारे में हिस्सा असफल एकीकृत किया जाना एकीकरण ।
क्या मुझे सह-दिनचर्या की आवश्यकता है? नहीं, मुझे सह-दिनचर्या की आवश्यकता नहीं है। क्या मुझे गतिशील टाइपिंग की आवश्यकता है? नहीं, मुझे यह जानने की आवश्यकता है कि मेरी स्क्रिप्टिंग भाषा से मुझ पर कौन से प्रकार वापस आ रहे हैं, और चूंकि मेरे सभी मौजूदा कोड बहुत मजबूत टाइपिंग के आसपास बनाए गए हैं, मैं वास्तव में अपने स्क्रिप्ट कोड को पसंद करूंगा। क्या मुझे कचरा संग्रहण की आवश्यकता है? नहीं, मेरे प्रकार पहले से ही अपने संसाधनों का प्रबंधन करते हैं, और मैं निश्चित रूप से नियतात्मक विनाश चाहता हूं। क्या मुझे गोटो चाहिए? नहीं- मैं अपवादों को फेंकना चाहता हूं।
मुझे जो परेशानी हुई, वह यह थी कि मूल रूप से सभी मौजूदा स्क्रिप्टिंग भाषाओं को C का विस्तार करने के लिए डिज़ाइन किया गया था, C ++ नहीं, और C ++ मॉडल का कई तरह से ठीक से समर्थन नहीं करते हैं, और इसके अलावा, उनके पास पूरी तरह से अलग शब्दार्थ है। पृथ्वी पर मैं कैसे अनुवाद करने जा रहा हूं shared_ptr
, जो स्वचालित नियतात्मक विनाश है, कचरा एकत्र पर्यावरण में? आप जो भी रैपिंग लाइब्रेरी चाहते हैं, आप लिख सकते हैं, आप अंतर्निहित भाषा शब्दार्थ को उस भाषा के साथ असंगत नहीं बदलेंगे, जिस भाषा के साथ आप इसे बढ़ाने की कोशिश कर रहे हैं। मैं यह कैसे सुनिश्चित कर सकता हूं कि यह void*
सही प्रकार है? मैं विरासत से कैसे निपट सकता हूं? मैं अपवादों को कैसे फेंकूं और पकड़ूं? यह सिर्फ काम नहीं करता है।
C ++ के लिए एक अच्छी स्क्रिप्टिंग भाषा सांख्यिकीय रूप से टाइप की जाएगी, मूल्य शब्दार्थ, निश्चित रूप से विनाशकारी, अपवादों को फेंकना और पकड़ना और मेरे विध्वंसक / कंस्ट्रक्टर / कॉपी कंस्ट्रक्टर्स का सम्मान करना, क्योंकि तब मेरे सभी प्रकार काम करेंगे, अच्छा और आसान, और परिणामी भाषा होगी उपवास करना और मेरे सभी मूल शब्दार्थों का समर्थन करना, बाँधना आसान है।