मैंने 2003-5 में पाइथन को वापस किया, जब मैं एक प्लॉन / ज़ोप कंसल्टेंट था। फिर 2006 में मैंने रूबी को चुनना शुरू किया। मैंने कभी पीछे मुड़कर नहीं देखा। मुझे लगता है कि विभिन्न लोग अलग-अलग प्रोग्रामिंग भाषाओं और संस्कृतियों के साथ अधिक सहज महसूस करते हैं, लेकिन मेरे लिए, रूबी पायथन की तुलना में बहुत बेहतर महसूस करती है।
मैं व्यक्तिगत रूप से सोचता हूं कि रूबी की तुलना में, पायथन विश्वसनीय वर्कहॉर्स है, जो थोड़ा सा होने और धुंधला होने के लिए भी होता है। रूबी एक बहुत अधिक मज़ा है। यह एक सुंदर दिखने वाली भाषा है, और बहुत सारी मजेदार और मजेदार चीजें करने के लिए बनाई जा सकती हैं, जो इसके चिकित्सकों को बर्बाद करती रहती हैं। मैंने सुना है कि पाइथन लोगों ने रूबी को बहुत खतरनाक होने के लिए हमला करते हुए कहा कि यह फिर से कक्षाएं खोलना और उस तरह के जंगली और गैरजिम्मेदार सामान करना बहुत आसान है। लेकिन इसका एक हिस्सा है कि रूबी मेरे लिए एक एक्शन एडवेंचर कॉमेडी रोमांस जैसा महसूस करती है। इसके विपरीत पायथन, आइकिया फर्नीचर की तरह अधिक है: यह सुखद, आरामदायक और विश्वसनीय है - लेकिन यह आपको आश्चर्यचकित नहीं करेगा और आपकी सांस को दूर ले जाएगा।
रूबी के बारे में दो सबसे अच्छी चीजें, मेरे नजरिए से, दो चीजें हैं जो इसे पायथन से अलग करती हैं। सबसे पहले, रूबी पर्ल से बहुत प्रभावित है। पायथन एंटी-पर्ल होने पर गर्व महसूस करता है। लेकिन पर्ल से उधार लिया गया सामान रूबी बड़े व्यावहारिक मूल्य का है। उदाहरण के लिए, नियमित अभिव्यक्ति लें। रूबी में, आप स्वाभाविक रूप से नियमित अभिव्यक्ति लिख सकते हैं, जैसे if mystring =~ /^\s+hello word!/ ...
। पायथन में, इतना नहीं, क्योंकि पायथन सब कुछ समान रूप से अनुमानित सिंटैक्स का पालन करने के बारे में बहुत गुदा है। रूबी में, आप तुरंत एसटीडीआईएन प्राप्त कर सकते हैं input = STDIN.read
। पायथन में, आपको import sys
और फिर करना होगा
sys.stdin.read()
। ये दो उदाहरण हैं जहां पायथन ने खुद को पर्ल से दूर करने का प्रयास किया है और इतनी नियमित रूप से नियमित रूप से रूबी की इच्छा से ट्रम्प को हर मामले में सही लगता है।
दूसरी बात जो रूबी को पाइथन से अलग करती है, वह यह है कि रूबी लिस्प के ज्यादा करीब है जबकि पायथन बहुत ही अनिवार्य प्रोग्रामिंग लैंग्वेज है। मुझे लगता है कि यह रूबी के पक्ष में एक बड़ा प्लस है।
रूबी की कई लिस्प जैसी विशेषताएं हैं जो पाइथन की तुलना में रूबी में कम कोड के साथ अधिक करना संभव बनाती हैं। उदाहरण के लिए, रूबी में हर बयान और नियंत्रण संरचना एक मूल्य देता है: आप कभी भी रूबी में return
बयान का उपयोग नहीं कर सकते हैं । यहां तक कि if
बयान एक मूल्य का मूल्यांकन करते हैं, इसलिए आप इस तरह से सामान लिख सकते हैं
result = if output == 'hello'
[some code here]
"world"
else
[some other code here]
"there"
end
पायथन में आपको लिखना होगा
if output == "hello":
[some code here]
result = "world"
else:
[some other code here]
result = "there"
अजगर आपको result =
दो बार टाइप करता है । यह बहुत सूखी नहीं है (खुद को दोहराएं नहीं)। इस तरह के कई उदाहरण हैं जहां रूबी अपने लिस्प जैसे गुणों के कारण अजगर से अधिक DRY होगी। माबी, रूबी के निर्माता, एक लिस्प पृष्ठभूमि से आए थे।
कुछ लोगों का कहना है कि रूबी भी metaprogramming में अजगर के पिछवाड़े (उर्फ गतिशील प्रोग्रामिंग) की शुरूआत की। पाइथन लोग या तो यह कहकर प्रतिक्रिया देते हैं कि मेटाप्रोग्रामिंग बहुत खतरनाक है, या यह कहकर कि सैद्धांतिक रूप से, आप पाइथन में रूबी कैन के सभी मेट्रोपोग्रामिंग सामान को अलग-अलग तरीके से पूरा कर सकते हैं। लेकिन एक बात जो हर कोई मानता है, वह यह है कि रूबी की तुलना में पैथॉन में मेट्रोपोग्रामिंग बहुत कम आम है। और यह बहुत बुरा है, क्योंकि मेटाप्रोग्रामिंग एक यात्रा है।
मुझे लगता है कि यह शायद सच है कि दिन के अंत में रूबी और पायथन दोनों काम कर सकते हैं। सी और जावा की तुलना में, रूबी और पायथन बहुत समान हैं। वे अभिव्यंजक, उत्पादक, उच्च-स्तरीय भाषाएं हैं।
तो इससे आपके व्यक्तित्व में उबाल आता है।
क्या आप चीजों को पूर्वानुमान, नियमित और सुरक्षित रहना पसंद करते हैं? क्या आपको प्रोग्रामिंग की अनिवार्य शैली पसंद है? क्या आप किसी दिन Google के लिए काम करना चाहते हैं? क्या आपको लगता है कि पर्ल नरक की अराजक स्थिति है? पाइथन के साथ रहना।
क्या आप कुछ प्रोग्रामिंग परिणाम को पूरा करने के लिए सबसे संक्षिप्त तरीका खोजने में बहुत आनंद लेते हैं? क्या आप नियमितता और एकरूपता से ऊब गए हैं? क्या आपको एक ऐसी शैली में कोड लिखने की स्वतंत्रता है जो आपकी खुद की है, और आपके पास बहुत सारे शांत चाल के साथ आने के लिए बहुत जगह है? क्या आप लिस्प के लिए सी की तुलना में अधिक आत्मीयता महसूस करते हैं? क्या आप सॉफ्टवेयर प्रोग्रामिंग में पर्ल के युगीन योगदान के लिए बहुत प्रशंसा करते हैं, लेकिन केवल यह चाहते हैं कि यह थोड़ा कम गूढ़ और कुरूप हो सकता है? क्या आपको लगता है कि कोड अन्य लोगों की तरह कविता के बारे में सोचते हैं? रूबी की कोशिश करो।