2009-12-07 10 views
17

मुझे पायथन पता है, लेकिन ज्योथन क्या है?ज्योथन क्या है और क्या यह बिल्कुल उपयोगी है?

  • मुझे ज्योथन की आवश्यकता कब होगी?
  • क्या कमीएं हैं?
  • मुझे लगता है कि यह धीमा है?

कृपया इसे विस्तार से बताएं! धन्यवाद।

उत्तर

24

Wikipedia का हवाला देते हुए:

Jython, JPython के उत्तराधिकारी, अजगर प्रोग्रामिंग जावा में लिखा भाषा के एक कार्यान्वयन है।

क्या उपयोग करता यह हो सकता है के लिए के रूप में:

Jython कार्यक्रमों मूल आयात और किसी भी जावा वर्ग का उपयोग कर सकते हैं। कुछ मानक मॉड्यूल के अलावा, ज्योथन प्रोग्राम पायथन मॉड्यूल के बजाय जावा कक्षाओं का उपयोग करते हैं। Jython, IronPython और CPython के

प्रदर्शन माप पता चलता है कि दोनों Jython और IronPython बड़े डेटासेट के साथ कुछ मामलों के लिए मात CPython।

+5

जैथन उसी तरह से बाइटकोड को संकलित नहीं करता है जैसे जावा करता है। बाइटकोड सभी अद्भुत गतिशील रनटाइम चीजें करता है जो सीपीथन करता है, इसलिए जावा से काफी धीमा है। – orip

3

जैथन एक पायथन कार्यान्वयन है जो JVM के शीर्ष पर चलता है। सैद्धांतिक रूप से, ज्योथन थोड़ी धीमी है, फिर सीपीथन।

आप कुछ मानक यहाँ पा सकते हैं: http://www.smallshire.org.uk/sufficientlysmall/2009/05/22/ironpython-2-0-and-jython-2-5-performance-compared-to-python-2-5/

+1

फॉलोअप आलेख भी दिलचस्प है: http://www.smallshire.org.uk/sufficientlysmall/2009/05/22/ironpython-hammers-cpython-when-not-mutating-class-attributes/ –

+0

अब हम जानते हैं कि ज्योथन कुछ बेंचमार्क में सीपीथॉन की तुलना में असीम रूप से तेज़ है। – u0b34a0f6ae

0

JVM कुछ अच्छा गतिशील अनुकूलन करता है, लेकिन यह शायद के बारे में उत्साहित करने के लिए कुछ भी नहीं है। JRuby कई बार चलाने वाले कोड पथ को अनुकूलित करके JVM (http://www.engineyard.com/blog/2009/j-is-for-jvm-why-the-j-in-jruby/) पर तेज़ी से चलता है, लेकिन वह रूबी है, पायथन नहीं।

जावा पुस्तकालय मुख्य कारण हैं। बहुत सी कंपनियों में जावा कोड के बड़े ग्लोब हैं जिन्हें पायथन के साथ लिखित किया जा सकता है। कुछ खुले स्रोत ढांचे (स्ट्रेट्स और एक्लिप्स वसंत को ध्यान में रखते हुए) भी हैं जिन्हें आप ज्योथन के साथ स्क्रिप्ट कर सकते हैं।

6

मुझे ज्योथन की आवश्यकता कब होगी?

जब आप पायथन में प्रोग्राम करना चाहते हैं, लेकिन जावा वर्चुअल मशीन पर परिणाम चलाने की आवश्यकता है (या चाहते हैं), या मौजूदा जावा घटकों का उपयोग करें।

क्या कमीएं हैं।

पायथन पाइथन के साथ 100% संगत नहीं हो सकता है, हालांकि किसी भी असंगतता को एक बग माना जाएगा। यदि आप बाद में CPython पर चलाने की आवश्यकता/आवश्यकता है, तो जावा घटकों का उपयोग करने वाले किसी भी कोड को फिर से लिखना होगा।

मुझे लगता है कि यह धीमा है?

यह आपके विशिष्ट उपयोगकेस पर हमेशा की तरह निर्भर करता है। कुछ मामलों में यह वास्तव में सीपीथॉन से तेज हो सकता है; और निश्चित रूप से यह आपके द्वारा चलाए जाने वाले विशिष्ट जेवीएम पर निर्भर करता है - ये हर समय बेहतर होते हैं।

3

मुझे ज्योथन की आवश्यकता कब होगी?

उदाहरण के लिए अपने कोड में एक अच्छी स्क्रिप्टिंग भाषा जोड़ने के लिए।

क्या कमीएं हैं?

मुख्य दोष यह है कि ज्योथन आधिकारिक सीपीथन वितरण के पीछे है। वर्तमान में, आप ज्योथन का एक संस्करण प्राप्त कर सकते हैं जो पाइथन 2.5.2 के साथ संगत है जबकि सीपीथन 3.1 पर है।

इसके अलावा कुछ गूढ़ मॉड्यूल समर्थित नहीं हैं। आमतौर पर, आप जावा प्रतिस्थापन को आसानी से नहीं देख पाएंगे और/या सक्षम नहीं होंगे।

मुझे लगता है कि यह धीमा है?

क्या तुलना में? आम तौर पर, यह या तो तेज़ होता है या जब यह नहीं होता है, तो आप पाइथन की कुछ पंक्तियों को बहुत तेज जावा की लगभग 1'000 लाइनों के साथ बदल सकते हैं।

3

दो अन्य कारणों से:

  • बड़े जावा अनुप्रयोग में एम्बेड पटकथा।
  • जैथन में बहु-थ्रेडेड प्रोग्राम लिखने के लिए जावा थ्रेड का उपयोग करें।
1

मुझे ज्योथन की आवश्यकता कब होगी?

आप जेथॉन का उपयोग कर वेबस्पेयर एप्लिकेशन सर्वर के लिए व्यवस्थापकीय स्क्रिप्ट लिख सकते हैं। स्क्रिप्ट का उपयोग सामान्य प्रशासनिक कार्यों को स्वचालित करने और वेबस्पेयर एप्लिकेशन सर्वर में सुरक्षा कॉन्फ़िगर करने के लिए किया जाता है।

वेबस्पेयर जेएमएक्स एपीआई का उपयोग एमबीएन्स बनाने के लिए करता है जो आंतरिक वेबस्पेयर ऑब्जेक्ट्स के एपीआई के रूप में उजागर होते हैं। चूंकि ज्योथन स्क्रिप्ट जावा पर आधारित हैं और वे जेवीएम पर चलते हैं, वे उन ऑब्जेक्ट्स तक पहुंच सकते हैं और वेबस्फेयर को कॉन्फ़िगर करने के लिए उपयोग किए जा सकते हैं।

इसके अलावा ज्योथन में कोड लिखना मजेदार है और आप एक नई भाषा सीखते हैं।

Here is the details

0

जब मैं Jython की आवश्यकता होगी?

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

7

यदि आप पाइथन जानते हैं और चीजों को करने के "पायथनिक" तरीके से खरीदे हैं, तो ज्योथन आपको उस दर्शन को जेवीएम स्टैक में लाने की अनुमति देता है। यदि आप ऐसा करते हैं, तो यह केवल स्क्रिप्टिंग क्षमता जोड़ने से कहीं अधिक है।

हमारी नवीनतम परियोजनाओं में, सभी कस्टम और व्यावसायिक तर्क ज्योथन में बनाए गए हैं, साथ ही हम सोलर, जैस्परपोर्ट्स, क्वार्ट्ज, जेट्टी, वेग जैसे कुछ महान प्रयास किए गए और परीक्षण किए गए जावा पुस्तकालयों का लाभ उठा सकते हैं। कुछ।

यह बाइटकोड में संकलित हो जाता है, हालांकि, एक अतिरिक्त परत जोड़ा जा रहा है, लेकिन उदाहरण के लिए सीधे जेडीबीसी के बजाय ओआरएम का उपयोग करने के लिए कोई अलग नहीं है।

उत्पादकता में आपको जो भी लाभ होता है, वह प्रदर्शन में खोए गए कम से कम वजन का वजन करता है।

सर्वर की तरफ, ज्योथन शायद ही कभी बाधा है। मिनी डेस्कटॉप ऐप्स के लिए, समस्याएं हो सकती हैं, लेकिन आप जो करने की कोशिश कर रहे हैं उस पर बहुत अधिक निर्भर हैं।

जेटी या टॉमकैट जैसे कंटेनर के साथ नवीनतम जेडीके बहुत परिपक्व और स्थिर हैं, कई मामलों में पाइथन शीर्ष पर जोड़कर, दोनों दुनिया में सर्वश्रेष्ठ प्रदान करता है।

+0

अच्छा जवाब। मेरे पास एक मौजूदा जावा ऐप है, और कुछ फ़ाइल पार्सिंग करना चाहते हैं, जो जावा में थकाऊ हो सकता है। Jython का उपयोग कर मुझे पाइथन वाक्यविन्यास (file.read(), list.split() आदि के साथ पार्सिंग करने की अनुमति दे सकता है ..)? –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^