2009-12-23 18 views
7

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

मेरी स्थिति है कि मेरे पास 3 अलग-अलग एपीआई हैं जिन्हें मैं परीक्षण करना चाहता हूं। प्रत्येक एपीआई समान कार्यक्षमता कोड के अनुसार करता है, लेकिन वे कार्यान्वयन में अलग हैं। मैं प्रत्येक भाषा के एपिस के चारों ओर रैपर लिख रहा हूं। प्रत्येक रैपर को बूस्ट :: पायथन, ज्योथन और आयरनपीथन का उपयोग करके पाइथन में सटीक समान कार्यक्षमता और कार्यान्वयन का खुलासा करना चाहिए।

मेरा सवाल है, क्या इन खुला तरीकों (जो प्रत्येक भाषा के लिए आम हैं) का उपयोग करके लिखित एक पायथन लिपि पाइथन के सभी तीन "स्वाद" में काम करती है?

जैसा कि मैंने कहा था कि मुझे पूरा यकीन है कि जवाब 'निश्चित रूप से' है, लेकिन मुझे यह सुनिश्चित करने की ज़रूरत है कि इससे पहले कि मैं इस पर काम कर रहा हूं।

उत्तर

10

संक्षिप्त उत्तर है: कभी-कभी।

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

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

तो, हाँ, जब तक आप असंगतताओं से बचें।

+0

ठीक है, मैंने यह पता लगाने के बारे में कुछ पोस्ट पढ़ी हैं कि आप किस लाइब्रेरी में पाइथन में उपयोग कर रहे हैं, इसलिए जब तक असंगतताओं को कम से कम रखा जाता है, तो इसे काफी अच्छी तरह से काम करना चाहिए। धन्यवाद – Charles

+2

@ चार्ल्स: इसके अलावा, अन्य पाइथन दुभाषियों में से प्रत्येक (जैथन, आयरनपीथन) में अच्छी प्रलेखन की जानकारी होगी जहां यह सीपीथन के अनुरूप नहीं है। यदि आप उन दस्तावेज़ों पर नजर रखते हैं, तो आप जल्द ही अपने विस्तारित अतीत के बारे में बताने में सक्षम होंगे जो तीनों पर काम करता है। –

+0

ipython और cpython के बीच भिन्नता: http://en.wikipedia.org/wiki/IronPython#Differences_with_CPython बहुत छोटा लगता है। – zinking