2009-08-03 14 views
12

हाल ही में मैंने अपने प्रोग्रामिंग क्षितिज का विस्तार करने और पायथन प्रोग्रामिंग भाषा सीखने का फैसला किया। जबकि मैंने कॉलेज में कक्षाओं के लिए पाइथन का उपयोग किया है और एक परियोजना या दो काम पर मैं किसी विशेषज्ञ से नहीं हूं। मेरा प्रश्न इस प्रकार है: क्या मुझे 2.x रिलीज से परेशान होना चाहिए या क्या मुझे सीधे 3.0 तक कूदना चाहिए? मैं 3.0 की तरफ झुका रहा हूं क्योंकि मैं व्यक्तिगत/सीखने के उपयोग के लिए प्रोग्रामिंग अनुप्रयोगों को और अधिक कर दूंगा, लेकिन मैं देखना चाहता था कि मेरे शुरू होने से पहले इसके खिलाफ कोई अच्छा तर्क था या नहीं।क्या मुझे पायथन 3.0 के साथ शुरू करना चाहिए?

+1

यह भी देखें http://stackoverflow.com/questions/533510/whos-using-python-3-0/533529 –

उत्तर

20

बिलकुल 3.0- 3.1 बाहर नहीं है और हर सम्मान में तेज, बेहतर, तेज है; इस समय 3.0 के साथ शुरू करने का बिल्कुल कोई मतलब नहीं है, अगर आप 3 श्रृंखलाएं लेना चाहते हैं तो यह सभी खातों पर होना चाहिए 3.1।

2.6 बनाम 3.1 के लिए, 3.1 एक बेहतर भाषा है (विशेष रूप से क्योंकि कुछ क्रुफ्ट को हटा दिया गया था जो पिछले कुछ वर्षों में जमा हुआ था लेकिन पीछे की संगतता के लिए 2. * में रहना है) लेकिन शेष पारिस्थितिक तंत्र (विस्तार से) टूल्स से, सामूहिक ज्ञान तक) अभी भी 2.6 के पक्ष में बहुत अधिक है - यदि आपको कुछ जीयूआई या वैज्ञानिक एक्सटेंशन का उपयोग करने में सक्षम होने की परवाह नहीं है, तो ऐप इंजन पर तैनात, कॉम के साथ विंडोज़ स्क्रिप्ट, एक स्पिफी थर्ड पार्टी आईडीई, और इसी तरह, 3.1 सलाह दी जाती है, लेकिन यदि आप ऐसी चीजों की परवाह करते हैं, तो अभी भी 2. * अभी के लिए।

+0

इतनी दुखी है कि मुझे उबंटू भंडार में पायथन 3.1 नहीं मिल रहा है। – riza

+0

फिर इसे python.org से प्राप्त करें –

+3

जीयूआई, वैज्ञानिक इत्यादि से कहीं अधिक पुस्तकालय अभी भी केवल 2.6 का समर्थन करते हैं। – aehlke

4

मुझे लगता है कि आप सीधे 3.0 में जाने के लिए बेहतर सेवा प्रदान करेंगे। जब तक आपके पास विरासत कोडबेस का सामना नहीं किया जाता है, तब तक चीजों को करने के 2.xx तरीकों को सीखने के बहुत कम फायदे हैं।

पायथन दुनिया में (जैसा कि अधिकांश में, वास्तव में) में, रिलीज में सभी सबप्रोजेक्ट्स में माइग्रेट करने में कुछ समय लगता है, लेकिन यदि आपको कभी भी 2.xx पर संक्रमण की आवश्यकता मिलती है, तो मैं नहीं करता ऐसा नहीं लगता कि आपको चीजों को विशेष रूप से दर्दनाक होने के लिए रिलीज़ करना होगा।

+3

बात यह है कि यह दूसरी दिशा में बेहतर काम करता है। 2.6 के साथ शुरू करें, फिर 3.x के पास बेहतर तृतीय पक्ष समर्थन है और इसी तरह, इसे माइग्रेट करना आसान होगा। और सीखने के लिए और कुछ नहीं होगा, क्योंकि 2.6 में 3.x फीचर्स हैं। – aehlke

2

पायथन 3.1, ल्यूक का प्रयोग करें।

+0

हालांकि क्यों? -1। – aehlke

+1

अधिक लोग py3.x => तेजी से lib बंदरगाहों का उपयोग कर रहे हैं। मुझे परवाह नहीं है - + 1। –

+0

यह इस प्रश्न के लिए बल्कि अव्यवहारिक और अनुपयोगी है। – aehlke

3

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

+4

-1। खराब, शॉर्टशॉट सलाह: "आपको किसी भी प्रोग्रामिंग भाषा की नवीनतम रिलीज के साथ जाना चाहिए" - इससे कहीं ज्यादा चीजें अधिक प्रचलित हैं। इसके अलावा, नवीनतम रिलीज क्या है? स्थिर निस्तार? – aehlke

+1

"... जब तक आपके पास कोई विशिष्ट कारण न हो।" सिर्फ एक वाक्य का हिस्सा उद्धृत न करें और मुझे बताएं कि मैं गलत हूं। संदर्भ में पूरी बात ले लो। हां, नवीनतम स्थिर रिलीज। –

+2

यह अभी भी गुमराह सलाह है। उसके पास कोई विशिष्ट कारण नहीं है, यही कारण है कि वह पूछ रहा है - लेकिन मैं उसे कुछ दे सकता हूं। – aehlke

2

पायथन 3.1 का उपयोग तब तक नहीं किया जाना चाहिए जब तक कि अन्य पुस्तकालयों ने इसका समर्थन नहीं किया हो।

आपको अब 2.6 का उपयोग करना चाहिए। इसमें कई 3.x फीचर्स हैं जो बैक-पोर्टेड हैं, ताकि 3.x पर माइग्रेट करना मुश्किल नहीं होगा, और आप अप्रचलित प्रथाओं को नहीं सीखेंगे।

+0

क्या आप वास्तव में तीसरे पक्ष की पुस्तकालय पर निर्भर होंगे? – riza

+0

यह काफी आम है। सीखना पायथन एपीआई सीखने के बारे में उतना ही है जितना कि यह 'भाषा' है - और एपीआई के लिए उपयोगी एक्सटेंशन से क्यों बचें? – aehlke

+0

इसके अलावा, एक बार जब वह इसे सीखता है और इसके साथ कुछ करना चाहता है, तो मुझे संदेह है कि कम से कम दो साल तक अच्छी तीसरी पार्टी लाइब्रेरी समर्थन के लिए अब तक काफी समय लगेगा। – aehlke

2

अच्छी खबर यह है कि पाइथन 2.x और 3.x दोनों को सीखना वाकई मुश्किल नहीं है। आप डिफ़ॉल्ट रूप से पाइथन स्क्रिप्ट को चलाने के लिए सिस्टम के साथ पंजीकृत संस्करण के रूप में नवीनतम 2.x संस्करण स्थापित कर सकते हैं, लेकिन जब आप चाहें तो स्पष्ट रूप से बंद करने के लिए नवीनतम 3.x संस्करण स्थापित करें। मेरे विंडोज विस्टा सिस्टम पर यही है।

फिर, 2.x और 3.x संस्करणों के बीच मतभेदों को सीखने के लिए कुंजी दस्तावेज है:

http://docs.python.org/3.1/whatsnew/3.0.html

आप पढ़ सकते हैं अजगर सीखने वहाँ बाहर सामग्री जो 2.x के आधार पर कर रहे हैं और उपर्युक्त लिंक "व्हाट्स इन न्यू पायथन 3.0" लिंक का भी संदर्भ लें, आपको समझ आएगी कि चीजें कैसे बदली गईं। यह भी देखें कि नए दस्तावेज़ क्या हैं, जैसे कि 3.0 और 3.1 के बीच अंतर के लिए, लेकिन 2.x बनाम 3.x परिवर्तनों को समझने के लिए ऊपर दिया गया लिंक मुख्य है।

+0

यह उत्तर शायद सभी Py3- अनुकूल लोगों का सबसे अधिक उद्देश्य है। यदि आप सिर्फ "पायथन सीखना" चाहते हैं - तो दोनों सीखें, उन्हें एक तरफ और WET इंस्टॉल करें (सबकुछ दो बार लिखें)। कुछ सावधानी के साथ, सबसे बुनियादी कार्यक्रम इन दो * भाषाओं * के बीच पोर्टेबल होंगे। यदि आप एक व्यावहारिक कार्य का सामना कर रहे हैं, तो मैं पी 3 के साथ सावधान रहना चाहूंगा। मुझे नहीं पता कि क्यों कुछ लोग Py2.8 के लिए उत्सुक हैं - मैं एक गैर-पी 3-संगत पीई 4 कहूंगा (पी 3 से कुछ अच्छी चीजें रखते हुए: स्ट्रेट और यूनिकोड को भंग कर दें, दोनों कीवर्ड छोड़ दें)। मेरा पीई 4 पीई 2 और (कम महत्वपूर्ण रूप से) पी 3 के साथ अधिक पिछड़ा संगत होगा। –

7

संक्षिप्त उत्तर: पायथन 2.6 के साथ प्रारंभ करें।

क्यों: प्रोग्रामिंग अधिक मजेदार और उपयोगी है जब आप दूसरों के काम का लाभ उठा सकते हैं।इसका मतलब है कि अक्सर तृतीय पक्ष पुस्तकालयों का उपयोग करना। पाइथन के लिए कई लोकप्रिय पुस्तकालयों में अभी तक 3.x समर्थन नहीं है। पीआईएल और न्यूपी/SciPy दिमाग में आते हैं। मेरा पसंदीदा दुभाषिया, आईपीथन, अभी तक 3.0 के साथ काम नहीं करता है। कई यूनिट परीक्षण ढांचे और वेब ढांचे अभी भी 3.0 पर नहीं हैं।

तो यदि आप 3.x में शुरू करते हैं तो कम से कम 3.x पोर्टिंग भाप पर ले जाने पर कई दरवाजे बंद हो जाएंगे। पाइथन 3.x में स्वीकार्य रूप से बहुत अच्छी सुविधाएं हैं, लेकिन उनमें से कुछ को 2.6 तक बैकपोर्ट किया गया है और कुछ और इसे 2.7 में लाएंगे। तो अब 2.6 के साथ चिपके रहें, और एक वर्ष के समय में 3.x का फिर से मूल्यांकन करें।

8

3.1

क्यों उपयोग करें?

1) क्योंकि जब तक हर कोई 2.6 का उपयोग कर रहा है, पुस्तकालयों में 3.1 पर माइग्रेट करने के कम कारण होंगे। जब तक कि उन पुस्तकालयों को 3.1 तक पोर्ट नहीं किया जाता है, तब तक आप बैक-पोर्टेड फीचर सेट का उपयोग करने के हैकिश समाधान का उपयोग करके 3.1 की ताकत का उपयोग न करने या केवल आधे तरीके से काम करने की पसंद से फंस जाते हैं। एक आगे विचारक बनें और पायथन आगे बढ़ने में मदद करें।

2) यदि आप सीखते हैं और 3.1 का उपयोग करते हैं, तो आपको बाद में इसे बंद करना होगा जब बड़े पैमाने पर बंदरगाह पूरा हो जाएगा। मुझे पता है कि कुछ लोग कहते हैं कि आपको ज्यादा सीखना नहीं है, लेकिन पुराने बकवास क्यों सीखते हैं? पायथन स्वयं 3.1 की तरफ बढ़ रहा है, पुस्तकालय 3.1 की तरफ बढ़ेगा, और यह पकड़ने और उस भाषा को रिलीज़ करने के लिए बेकार है जिसे आप पहले से उपयोग कर रहे हैं।

3) 3.1 एक बेहतर भाषा के आसपास है, 2.6 से अधिक स्थिर और अधिक संगत ... यह सामान्य है। 2.6 से सीखे गए सबक इसे बेहतर बनाने के लिए 3.1 में डाले गए थे। यह प्रोग्रेस नामक एक प्रक्रिया है। यही कारण है कि कोई भी अभी भी विंडोज 3.1 का उपयोग नहीं करता है। चीजें आगे बढ़ने का तरीका है। आपको और क्यों लगता है कि वे पहली जगह में एक फीचर सेट पोर्टिंग की परेशानी के लिए गए थे?

4) यदि आप पाइथन सीख रहे हैं, और 2.6 सीखें, तो जब तक आप भाषा के साथ वास्तव में सहज महसूस करेंगे, बंदरगाहों से बाहर हो जाएगा, और आपको पुस्तकालयों और भाषा को फिर से सीखना होगा। यदि आप 3.1 के साथ शुरू करते हैं, तो जब तक आप भाषा के साथ सहज महसूस करते हैं, तो पोर्ट बंद हो जाएंगे, और फिर आप उन पुस्तकालयों को सीख सकते हैं जिनमें आप रुचि रखते हैं। यह एक आसान प्रक्रिया है।

5) बेहतर डेवलपर बनने के लिए। यदि आपको एक ही चीज सीखना और रिलीज़ करना है, तो आपकी समझ बहुत गहरी नहीं होगी। इस भाषा को सीखकर, और इसकी पुस्तकालय केवल एक बार, आपके पास वाक्यविन्यास जारी करने के बजाय उनके साथ काम करने का अधिक समय होगा। यह आपको उन्हें बेहतर समझने की अनुमति देता है। यदि आप वास्तव में पुस्तकालयों पर जाकर कुछ टुकड़े खो रहे हैं? उन्हे लिखें। आपको शायद पूरी लाइब्रेरी की आवश्यकता नहीं होगी, और आमतौर पर केवल उन टुकड़ों को लिख सकते हैं जिन्हें आप चाहते हैं, और अपने लिए टूल विकसित कर सकते हैं। यह फिर से, आपको भाषा को बेहतर समझने में मदद करता है, और अधिक गहराई से।

+1

मुझे उपरोक्त उत्तर को मानव भाषा में अनुवाद करने दें: "हां, पाइथन 3.x के लिए खुद को बलिदान दें और इसका इस्तेमाल करें। लापता पुस्तकालय? चिंता न करें, जब आपके जैसे अधिक चूसने वाले पाइथन 3.x पर जाते हैं, अंततः लाइब्रेरी रखरखाव दयालुता और 3x तक पोर्ट को स्थानांतरित किया जाएगा - 'छः' या इस तरह का उपयोग करना। यह एक बेहतर भाषा है, और 2.7 (धीमी गति से पहले, दिमाग जीआईएल) जितनी धीमी हो रही है, वह केवल सीपीथन में एक कार्यान्वयन समस्या है। " मेरी सलाह: अन्य लोगों को मत सुनो। अपना निर्णय लें और परिणामों को सहन करें। जांचें कि क्या काम करता है, न कि फैनबॉय आपको बताता है कि "सही" है। –

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

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