2009-01-21 4 views
5

मैं इस बारे में उत्सुक हूं कि .NET पायथन और रूबी अनुप्रयोगों को कैसे प्रभावित करेगा।पायथन और रूबी अनुप्रयोगों को .NET द्वारा कैसे प्रभावित किया जाएगा?

क्या आयरनपीथन/आयरन रूबी में लिखे गए अनुप्रयोग .NET पर्यावरण के लिए इतना विशिष्ट होंगे, कि वे अनिवार्य रूप से मंच विशिष्ट बन जाएंगे?

यदि वे किसी भी .NET सुविधाओं का उपयोग नहीं करते हैं, तो उनके गैर .NET समकक्षों पर IronPython/IronRuby का लाभ क्या है?

उत्तर

5

मैं आयरनआरबी के बारे में कुछ भी नहीं कह सकता, लेकिन अधिकांश पायथन कार्यान्वयन (जैसे आयरनपीथन, ज्योथन और पायपी) जितना संभव हो सके सीपीथन कार्यान्वयन के लिए सच होने की कोशिश करते हैं। यद्यपि आयरनपीथन जल्द ही इस संबंध में सर्वश्रेष्ठ में से एक बन रहा है, और इसके बारे में प्लैनेट पायथन पर बहुत अधिक ट्रैफिक है।

मुख्य बात यह है कि डेवलपर्स को कोड लिखने के लिए प्रोत्साहित किया जाएगा जो कि सीपीथॉन में लिखने से अलग है, यह न्यू एक्सटेंशन जैसे सी एक्सटेंशन मॉड्यूल की कमी है (यह ज्योथन और पीपीपी में भी एक समस्या है)।

आयरनक्लाड पर आपकी नजर रखने के लिए एक दिलचस्प परियोजना है, जो आपको आयरनपीथन के भीतर से सी एक्सटेंशन मॉड्यूल को कॉल करने देगी। इसका अंततः यह मतलब होना चाहिए कि आप जो भी मॉड्यूल पसंद करते हैं, उसका उपयोग करके आप सीपीथॉन के तहत कोड विकसित कर सकते हैं, और यह आयरनपीथन पर असम्बद्ध हो जाएगा।

http://www.resolversystems.com/documentation/index.php/Ironclad

तो आपके सवालों के जवाब:

यह बहुत आसान IronPython अनुप्रयोग जो रूप में अच्छी तरह CPython पर काम लिखने के लिए होना चाहिए, लेकिन मैं शायद दूसरी तरह के आसपास जाने के लिए लक्ष्य होगा: CPython प्रोग्राम हैं जो आयरनपीथन पर भी काम करें। इस तरह, यदि यह काम नहीं करता है तो यह एक ज्ञात काम के साथ एक ज्ञात बग होने की अधिक संभावना है।

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

1

आयरनपीथन/आयरन रूबी को नेट वर्चुअल मशीन पर काम करने के लिए बनाया गया है, इसलिए वे अनिवार्य रूप से प्लेटफार्म विशिष्ट कहते हैं।

स्पष्ट रूप से वे पाइथन और रूबी के साथ संगत हैं जब तक कि आप अपने कार्यक्रमों में से किसी भी .NET ढांचे का उपयोग नहीं करते हैं।

+0

पुस्तकालयों में से एक आयरनपीथन आवेदन के लिए उपयोग करेगा। –

0

आप दूसरे प्रश्न के साथ अपने पहले प्रश्न का उत्तर देते हैं, यदि आप भाषा के कार्यान्वयन द्वारा प्रदान की गई मूल libs से कुछ भी नहीं उपयोग करते हैं, तो आप अपनी * .py या * .rb फ़ाइल को दूसरे के साथ समझ सकते हैं कार्यान्वयन और यह काम करना चाहिए।

लाभ यह होगा कि यदि आपकी नेट की दुकान आमतौर पर क्लाइंट मशीन आदि पर सही फ्रेमवर्क स्थापित करने का ख्याल रखती है ... अच्छा अगर आप अजगर या रूबी कोड चाहते हैं, तो अब आपको एक और "ढांचा" आवश्यकता का समर्थन करने की आवश्यकता है इंस्टॉलेशन वितरित करने के लिए, संस्करण समस्या आदि का ख्याल रखना ... इसलिए 2 फायदे, किसी अन्य भाषा के अंदर नेट फ्रेमवर्क पावर का उपयोग करना + वितरण/रखरखाव को यथासंभव सरल रखें।

0

यह आईआईएस के तहत रेल/Django को चलाने के लिए नहीं बल्कि उसके बाद अपाचे/संकर जाति प्रकार समाधान

+0

ऐसा करने के लिए यह अच्छा क्यों होगा? – projecktzero

+0

एक भार संतुलन अपाचे + एकाधिक mongrels एक हैकी समाधान का एक सा है। जेएसपी और एएसपी जैसे असली ऐप सर्वर में रेल चलाने में सक्षम होने के कारण बहुत ही आकर्षक है –

1

आप किसी लाइब्रेरी या ढांचा बनाते हैं, तो लोगों को यह नेट पर अपने नेट कोड के साथ उपयोग कर सकते हैं शांत हो जाएगा। यह उनके लिए बहुत अच्छा है, और आपके लिए!

एप्लिकेशन विकसित करते समय, यदि आप त्याग के साथ .NET की सुविधाओं का उपयोग करते हैं तो आप "क्रॉस-प्लेटफॉर्मिटी" खो देते हैं, जो हमेशा एक मुद्दा नहीं है।

यदि आप इन उपयोगों को एक आंतरिक एपीआई के साथ लपेटते हैं, तो आप बाद में शुद्ध-पायथन, लिपटे सी (सीपीथॉन के लिए), या जावा (ज्योथन के लिए) के साथ .NET कार्यान्वयन को प्रतिस्थापित कर सकते हैं।

1

मोनो पेज के अनुसार, आयरनपीथन मॉनेट के .NET रनटाइम के कार्यान्वयन के साथ संगत है, इसलिए निष्पादन योग्य विंडोज और लिनक्स दोनों पर काम करना चाहिए।

2

क्या आयरनपीथन/आयरन रूबी में लिखे गए अनुप्रयोग .NET पर्यावरण के लिए इतना विशिष्ट होंगे, कि वे अनिवार्य रूप से प्लेटफार्म विशिष्ट बन जाएंगे?

IronRuby वर्तमान में कोर गहरे लाल रंग का मानक पुस्तकालय के अधिकांश, और गहरे लाल रंग का रत्न के लिए समर्थन के साथ जहाज।

इसका मतलब है कि यह किसी भी मूल रूबी ऐप का समर्थन करेगा जो सी एक्सटेंशन पर भरोसा नहीं करता है।
फ्लिपसाइड यह है कि आयरन रूबी में देशी रूबी ऐप्स लिखना संभव होगा जो सीएलआर पर भरोसा नहीं करते हैं, और वे एमआरआई के लिए पोर्टेबल होंगे।

सीएलआर का उपयोग करके लोग अपने ऐप्स के लिए एक्सटेंशन बनाने या उपयोग करने का विकल्प चुनते हैं या नहीं, यह है कि लोग एमआरआई के लिए सी एक्सटेंशन बनाते हैं या उपयोग करते हैं या नहीं - एक दूसरे की तुलना में अधिक पोर्टेबल नहीं है।

का एक साइड-सवाल है "क्योंकि सी में सीआरबीई एक्सटेंशन बनाने के बजाय सी # में आयरनआरबी एक्सटेंशन बनाने के लिए इतना आसान है, क्या लोग एक्सटेंशन बनायेंगे जहां उन्हें देशी रूबी कोड पर चिपकाया जाना चाहिए?", लेकिन यह पूरी तरह से व्यक्तिपरक है।

हालांकि, मुझे लगता है कि कुछ भी जो एक्सटेंशन को आसान बनाता है, एक बड़ी जीत है।


वे नेट सुविधाओं के किसी भी उपयोग नहीं करते हैं, तो क्या IronPython/IronRuby का लाभ उनके गैर नेट समकक्षों खत्म हो गया है?

  1. प्रदर्शन: IronRuby पहले से ही तेजी से एमआरआई 1.8 की तुलना में सबसे अधिक भाग के लिए है, और अब तक एमआरआई 1.9 बंद नहीं है, और चीजों को केवल भविष्य में सुधार होगा। मुझे लगता है कि इस सम्मान में अजगर समान है।

  2. परिनियोजन: लोगों का उल्लेख किया है के रूप में, एक देशी गहरे लाल रंग का क्रॉस-प्लेटफॉर्म चल रेल आईआईएस अंदर एप्लिकेशन कुछ खिड़कियों आधारित डेवलपर्स के लिए एक आकर्षक प्रस्ताव है, क्योंकि यह उन्हें बेहतर सुविधा देता है मौजूदा सर्वर/प्रबंधन के बुनियादी ढांचे के साथ एकीकृत/आदि

  3. स्थिरता: जबकि एमआरआई 1.9 1.8 से काफी बेहतर था, मुझे नहीं लगता कि कोई भी असहमत हो सकता है कि सीएलआर के पास सी रूबी की तुलना में बेहतर कचरा कलेक्टर और बेस रनटाइम है।

IronPython पूछे जाने वाले प्रश्न (http://www.codeplex.com/IronPython/Wiki/View.aspx?title=FAQ&referringTitle=Home) आप CPython पुस्तकालयों का उपयोग कर सकते है, जो मुझे बिल्कुल किस तरह के बारे में सोच कर ली के अनुसार