Loading...

पायथन विरोधाभास

Original

अगस्त 2004

हाल ही में एक बातचीत में मैंने कुछ ऐसा कहा जो बहुत से लोगों को नाराज कर गया: कि आप पायथन प्रोजेक्ट पर काम करने के लिए स्मार्ट प्रोग्रामर्स को प्राप्त कर सकते हैं, बजाय इसके कि आप जावा प्रोजेक्ट पर काम करने के लिए उन्हें प्राप्त कर सकें।

इसका मतलब यह नहीं था कि जावा प्रोग्रामर्स बेवकूफ हैं। मेरा मतलब था कि पायथन प्रोग्रामर्स स्मार्ट हैं। एक नई प्रोग्रामिंग भाषा सीखना बहुत काम है। और लोग पायथन नहीं सीखते क्योंकि इससे उन्हें नौकरी मिलेगी; वे इसे इसलिए सीखते हैं क्योंकि उन्हें वास्तव में प्रोग्रामिंग करना पसंद है और वे उन भाषाओं से संतुष्ट नहीं हैं जो वे पहले से जानते हैं।

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

अब तक केवल कुछ कंपनियाँ इस बात को समझने के लिए पर्याप्त स्मार्ट रही हैं। लेकिन यहाँ भी एक प्रकार का चयन हो रहा है: ये बिल्कुल वही कंपनियाँ हैं जिनके लिए प्रोग्रामर्स काम करना सबसे अधिक पसंद करेंगे। उदाहरण के लिए, गूगल। जब वे जावा प्रोग्रामिंग नौकरियों का विज्ञापन करते हैं, तो वे पायथन अनुभव भी चाहते हैं।

मेरे एक दोस्त जो लगभग सभी व्यापक रूप से उपयोग की जाने वाली भाषाएँ जानते हैं, अपने अधिकांश प्रोजेक्ट्स के लिए पायथन का उपयोग करते हैं। वह कहते हैं कि मुख्य कारण यह है कि उन्हें स्रोत कोड का रूप पसंद है। यह एक भाषा को दूसरी भाषा पर चुनने के लिए एक तुच्छ कारण लग सकता है। लेकिन यह उतना तुच्छ नहीं है जितना यह लगता है: जब आप प्रोग्राम करते हैं, तो आप कोड पढ़ने में लिखने से अधिक समय बिताते हैं। आप स्रोत कोड के टुकड़ों को उसी तरह धकेलते हैं जैसे एक मूर्तिकार मिट्टी के टुकड़ों को धकेलता है। इसलिए एक भाषा जो स्रोत कोड को बदसूरत बनाती है, एक सटीक प्रोग्रामर के लिए परेशान करने वाली होती है, जैसे कि lumps से भरी मिट्टी एक मूर्तिकार के लिए होती है।

बदसूरत स्रोत कोड का उल्लेख करते ही, लोग निश्चित रूप से पर्ल के बारे में सोचेंगे। लेकिन पर्ल की सतही बदसूरती वह नहीं है जिसका मैं मतलब रखता हूँ। असली बदसूरती कठोर दिखने वाली सिंटैक्स नहीं है, बल्कि गलत अवधारणाओं से कार्यक्रम बनाने की आवश्यकता है। पर्ल एक कार्टून चरित्र की तरह शपथ लेते हुए दिख सकता है, लेकिन वहाँ मामले हैं जहाँ यह अवधारणात्मक रूप से पायथन से आगे निकल जाता है।

अब तक, वैसे भी। दोनों भाषाएँ निश्चित रूप से हिलती लक्ष्यों की तरह हैं। लेकिन वे, रूबी (और आइकन, और जॉय, और जे, और लिस्प, और स्मॉलटॉक) के साथ, इस तथ्य को साझा करते हैं कि वे उन लोगों द्वारा बनाई गई हैं, और उन लोगों द्वारा उपयोग की जाती हैं, जो वास्तव में प्रोग्रामिंग की परवाह करते हैं। और वे आमतौर पर वही होते हैं जो इसे अच्छी तरह से करते हैं।