हाल ही में मैंने अपने प्रोग्रामिंग क्षितिज का विस्तार करने और पायथन प्रोग्रामिंग भाषा सीखने का फैसला किया। जबकि मैंने कॉलेज में कक्षाओं के लिए पाइथन का उपयोग किया है और एक परियोजना या दो काम पर मैं किसी विशेषज्ञ से नहीं हूं। मेरा प्रश्न इस प्रकार है: क्या मुझे 2.x रिलीज से परेशान होना चाहिए या क्या मुझे सीधे 3.0 तक कूदना चाहिए? मैं 3.0 की तरफ झुका रहा हूं क्योंकि मैं व्यक्तिगत/सीखने के उपयोग के लिए प्रोग्रामिंग अनुप्रयोगों को और अधिक कर दूंगा, लेकिन मैं देखना चाहता था कि मेरे शुरू होने से पहले इसके खिलाफ कोई अच्छा तर्क था या नहीं।क्या मुझे पायथन 3.0 के साथ शुरू करना चाहिए?
उत्तर
बिलकुल 3.0- 3.1 बाहर नहीं है और हर सम्मान में तेज, बेहतर, तेज है; इस समय 3.0 के साथ शुरू करने का बिल्कुल कोई मतलब नहीं है, अगर आप 3 श्रृंखलाएं लेना चाहते हैं तो यह सभी खातों पर होना चाहिए 3.1।
2.6 बनाम 3.1 के लिए, 3.1 एक बेहतर भाषा है (विशेष रूप से क्योंकि कुछ क्रुफ्ट को हटा दिया गया था जो पिछले कुछ वर्षों में जमा हुआ था लेकिन पीछे की संगतता के लिए 2. * में रहना है) लेकिन शेष पारिस्थितिक तंत्र (विस्तार से) टूल्स से, सामूहिक ज्ञान तक) अभी भी 2.6 के पक्ष में बहुत अधिक है - यदि आपको कुछ जीयूआई या वैज्ञानिक एक्सटेंशन का उपयोग करने में सक्षम होने की परवाह नहीं है, तो ऐप इंजन पर तैनात, कॉम के साथ विंडोज़ स्क्रिप्ट, एक स्पिफी थर्ड पार्टी आईडीई, और इसी तरह, 3.1 सलाह दी जाती है, लेकिन यदि आप ऐसी चीजों की परवाह करते हैं, तो अभी भी 2. * अभी के लिए।
मुझे लगता है कि आप सीधे 3.0 में जाने के लिए बेहतर सेवा प्रदान करेंगे। जब तक आपके पास विरासत कोडबेस का सामना नहीं किया जाता है, तब तक चीजों को करने के 2.xx तरीकों को सीखने के बहुत कम फायदे हैं।
पायथन दुनिया में (जैसा कि अधिकांश में, वास्तव में) में, रिलीज में सभी सबप्रोजेक्ट्स में माइग्रेट करने में कुछ समय लगता है, लेकिन यदि आपको कभी भी 2.xx पर संक्रमण की आवश्यकता मिलती है, तो मैं नहीं करता ऐसा नहीं लगता कि आपको चीजों को विशेष रूप से दर्दनाक होने के लिए रिलीज़ करना होगा।
बात यह है कि यह दूसरी दिशा में बेहतर काम करता है। 2.6 के साथ शुरू करें, फिर 3.x के पास बेहतर तृतीय पक्ष समर्थन है और इसी तरह, इसे माइग्रेट करना आसान होगा। और सीखने के लिए और कुछ नहीं होगा, क्योंकि 2.6 में 3.x फीचर्स हैं। – aehlke
आपको तब तक सीखने वाली किसी भी प्रोग्रामिंग भाषा की नवीनतम रिलीज के साथ जाना चाहिए जब तक आपके पास पर कोई विशिष्ट कारण न हो। चूंकि आपके पास कोई मौजूदा प्रोजेक्ट नहीं है जो पाइथन 3.0 के साथ काम नहीं करेगा, आपको नवीनतम संस्करण का उपयोग करने में स्वतंत्र महसूस होना चाहिए।
-1। खराब, शॉर्टशॉट सलाह: "आपको किसी भी प्रोग्रामिंग भाषा की नवीनतम रिलीज के साथ जाना चाहिए" - इससे कहीं ज्यादा चीजें अधिक प्रचलित हैं। इसके अलावा, नवीनतम रिलीज क्या है? स्थिर निस्तार? – aehlke
"... जब तक आपके पास कोई विशिष्ट कारण न हो।" सिर्फ एक वाक्य का हिस्सा उद्धृत न करें और मुझे बताएं कि मैं गलत हूं। संदर्भ में पूरी बात ले लो। हां, नवीनतम स्थिर रिलीज। –
यह अभी भी गुमराह सलाह है। उसके पास कोई विशिष्ट कारण नहीं है, यही कारण है कि वह पूछ रहा है - लेकिन मैं उसे कुछ दे सकता हूं। – aehlke
पायथन 3.1 का उपयोग तब तक नहीं किया जाना चाहिए जब तक कि अन्य पुस्तकालयों ने इसका समर्थन नहीं किया हो।
आपको अब 2.6 का उपयोग करना चाहिए। इसमें कई 3.x फीचर्स हैं जो बैक-पोर्टेड हैं, ताकि 3.x पर माइग्रेट करना मुश्किल नहीं होगा, और आप अप्रचलित प्रथाओं को नहीं सीखेंगे।
क्या आप वास्तव में तीसरे पक्ष की पुस्तकालय पर निर्भर होंगे? – riza
यह काफी आम है। सीखना पायथन एपीआई सीखने के बारे में उतना ही है जितना कि यह 'भाषा' है - और एपीआई के लिए उपयोगी एक्सटेंशन से क्यों बचें? – aehlke
इसके अलावा, एक बार जब वह इसे सीखता है और इसके साथ कुछ करना चाहता है, तो मुझे संदेह है कि कम से कम दो साल तक अच्छी तीसरी पार्टी लाइब्रेरी समर्थन के लिए अब तक काफी समय लगेगा। – aehlke
अच्छी खबर यह है कि पाइथन 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 परिवर्तनों को समझने के लिए ऊपर दिया गया लिंक मुख्य है।
यह उत्तर शायद सभी Py3- अनुकूल लोगों का सबसे अधिक उद्देश्य है। यदि आप सिर्फ "पायथन सीखना" चाहते हैं - तो दोनों सीखें, उन्हें एक तरफ और WET इंस्टॉल करें (सबकुछ दो बार लिखें)। कुछ सावधानी के साथ, सबसे बुनियादी कार्यक्रम इन दो * भाषाओं * के बीच पोर्टेबल होंगे। यदि आप एक व्यावहारिक कार्य का सामना कर रहे हैं, तो मैं पी 3 के साथ सावधान रहना चाहूंगा। मुझे नहीं पता कि क्यों कुछ लोग Py2.8 के लिए उत्सुक हैं - मैं एक गैर-पी 3-संगत पीई 4 कहूंगा (पी 3 से कुछ अच्छी चीजें रखते हुए: स्ट्रेट और यूनिकोड को भंग कर दें, दोनों कीवर्ड छोड़ दें)। मेरा पीई 4 पीई 2 और (कम महत्वपूर्ण रूप से) पी 3 के साथ अधिक पिछड़ा संगत होगा। –
संक्षिप्त उत्तर: पायथन 2.6 के साथ प्रारंभ करें।
क्यों: प्रोग्रामिंग अधिक मजेदार और उपयोगी है जब आप दूसरों के काम का लाभ उठा सकते हैं।इसका मतलब है कि अक्सर तृतीय पक्ष पुस्तकालयों का उपयोग करना। पाइथन के लिए कई लोकप्रिय पुस्तकालयों में अभी तक 3.x समर्थन नहीं है। पीआईएल और न्यूपी/SciPy दिमाग में आते हैं। मेरा पसंदीदा दुभाषिया, आईपीथन, अभी तक 3.0 के साथ काम नहीं करता है। कई यूनिट परीक्षण ढांचे और वेब ढांचे अभी भी 3.0 पर नहीं हैं।
तो यदि आप 3.x में शुरू करते हैं तो कम से कम 3.x पोर्टिंग भाप पर ले जाने पर कई दरवाजे बंद हो जाएंगे। पाइथन 3.x में स्वीकार्य रूप से बहुत अच्छी सुविधाएं हैं, लेकिन उनमें से कुछ को 2.6 तक बैकपोर्ट किया गया है और कुछ और इसे 2.7 में लाएंगे। तो अब 2.6 के साथ चिपके रहें, और एक वर्ष के समय में 3.x का फिर से मूल्यांकन करें।
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) बेहतर डेवलपर बनने के लिए। यदि आपको एक ही चीज सीखना और रिलीज़ करना है, तो आपकी समझ बहुत गहरी नहीं होगी। इस भाषा को सीखकर, और इसकी पुस्तकालय केवल एक बार, आपके पास वाक्यविन्यास जारी करने के बजाय उनके साथ काम करने का अधिक समय होगा। यह आपको उन्हें बेहतर समझने की अनुमति देता है। यदि आप वास्तव में पुस्तकालयों पर जाकर कुछ टुकड़े खो रहे हैं? उन्हे लिखें। आपको शायद पूरी लाइब्रेरी की आवश्यकता नहीं होगी, और आमतौर पर केवल उन टुकड़ों को लिख सकते हैं जिन्हें आप चाहते हैं, और अपने लिए टूल विकसित कर सकते हैं। यह फिर से, आपको भाषा को बेहतर समझने में मदद करता है, और अधिक गहराई से।
मुझे उपरोक्त उत्तर को मानव भाषा में अनुवाद करने दें: "हां, पाइथन 3.x के लिए खुद को बलिदान दें और इसका इस्तेमाल करें। लापता पुस्तकालय? चिंता न करें, जब आपके जैसे अधिक चूसने वाले पाइथन 3.x पर जाते हैं, अंततः लाइब्रेरी रखरखाव दयालुता और 3x तक पोर्ट को स्थानांतरित किया जाएगा - 'छः' या इस तरह का उपयोग करना। यह एक बेहतर भाषा है, और 2.7 (धीमी गति से पहले, दिमाग जीआईएल) जितनी धीमी हो रही है, वह केवल सीपीथन में एक कार्यान्वयन समस्या है। " मेरी सलाह: अन्य लोगों को मत सुनो। अपना निर्णय लें और परिणामों को सहन करें। जांचें कि क्या काम करता है, न कि फैनबॉय आपको बताता है कि "सही" है। –
- 1. पायथन के लिए ट्यूटोरियल - क्या मुझे 2.x या 3.0 का उपयोग करना चाहिए?
- 2. मुझे एक एपीआई चाहिए। मुझे कहां से शुरू करना चाहिए?
- 3. मुझे क्या करना चाहिए?
- 4. मुझे डीडीडी कैसे शुरू करना चाहिए?
- 5. पायथन में एक वेब क्रॉलर। मुझे कहां से शुरू करना चाहिए और मुझे क्या करना चाहिए? - मदद की आवश्यकता
- 6. क्या मुझे अपने सी ++ आईफोन प्रोजेक्ट के साथ क्लैंग/एलएलवीएम को लक्षित करना शुरू करना चाहिए?
- 7. क्या मुझे LINQ से SQL का उपयोग शुरू करना चाहिए?
- 8. क्या मुझे एक नया डेवलपर पढ़ाने के दौरान यूनिट परीक्षण के साथ शुरू करना चाहिए?
- 9. मुझे देखने में क्या करना चाहिए DidUnload?
- 10. एंड्रॉइड में दिलचस्पी प्रोग्रामर शुरू करना - क्या मुझे जावा से शुरू करना चाहिए?
- 11. मुझे किस पायथन का उपयोग करना चाहिए?
- 12. घटक बनाने के दौरान मुझे कहां से शुरू करना चाहिए?
- 13. क्या मुझे स्कैला का अध्ययन करना चाहिए?
- 14. क्या मुझे/एमडी या/एमटी के साथ संकलित करना चाहिए?
- 15. क्या मुझे पिलोन के साथ wtforms का उपयोग करना चाहिए?
- 16. मुझे कब लैम्बडा एक्सप्रेशन का उपयोग करना चाहिए जो सी # 3.0 के साथ आता है?
- 17. क्या मुझे std :: stringstream preallocate करना चाहिए?
- 18. रेल के साथ शुरू करना? रत्न होना चाहिए?
- 19. क्या मुझे अपने सिस्टम को शराब तैयार करने के रूप में वितरित करना शुरू करना चाहिए?
- 20. जावास्क्रिप्ट का विकास - मुझे यूनिट परीक्षण कब शुरू करना चाहिए?
- 21. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 22. क्या मुझे अपने पायथन एप्लिकेशन के साथ सी पुस्तकालयों को बंडल करना चाहिए?
- 23. मुझे डेटाबेस का उपयोग कब शुरू करना चाहिए?
- 24. पायथन 3.0
- 25. मुझे जावा-आधारित वेब विकास कैसे शुरू करना चाहिए?
- 26. मुझे सी ++ में स्थिर वर्ग चर क्यों शुरू करना चाहिए?
- 27. सी # लॉगिंग। मुझे क्या उपयोग करना चाहिए?
- 28. पायथन 3.0
- 29. Arduino के साथ शुरू करना?
- 30. क्या मुझे रेल माइग्रेशन फ़्लैट करना चाहिए?
यह भी देखें http://stackoverflow.com/questions/533510/whos-using-python-3-0/533529 –