पाइथन विरोधाभास
Originalअगस्त 2004
हाल ही में एक वार्तालाप में मैंने कुछ ऐसा कहा जिससे बहुत से लोग नाराज हो गए: कि आप पाइथन प्रोजेक्ट पर काम करने के लिए जावा प्रोजेक्ट पर काम करने वाले से ज़्यादा होशियार प्रोग्रामर पा सकते हैं।
मेरा मतलब यह नहीं था कि जावा प्रोग्रामर बेवकूफ़ हैं। मेरा मतलब था कि पाइथन प्रोग्रामर होशियार हैं। एक नई प्रोग्रामिंग भाषा सीखना बहुत काम है। और लोग पाइथन इसलिए नहीं सीखते क्योंकि इससे उन्हें नौकरी मिलेगी; वे इसे इसलिए सीखते हैं क्योंकि उन्हें वास्तव में प्रोग्रामिंग पसंद है और वे उन भाषाओं से संतुष्ट नहीं हैं जिन्हें वे पहले से जानते हैं।
जो उन्हें ठीक वही प्रोग्रामर बनाता है जिन्हें कंपनियों को काम पर रखना चाहिए। इसलिए, बेहतर नाम के अभाव में, मैं इसे पाइथन विरोधाभास कहूंगा: यदि कोई कंपनी अपने सॉफ़्टवेयर को तुलनात्मक रूप से गूढ़ भाषा में लिखने का विकल्प चुनती है, तो वे बेहतर प्रोग्रामर को काम पर रखने में सक्षम होंगे, क्योंकि वे केवल उन लोगों को आकर्षित करेंगे जिन्होंने इसे सीखने के लिए पर्याप्त परवाह की। और प्रोग्रामर के लिए विरोधाभास और भी अधिक स्पष्ट है: यदि आप अच्छी नौकरी चाहते हैं, तो सीखने की भाषा एक ऐसी भाषा है जिसे लोग केवल नौकरी पाने के लिए नहीं सीखते हैं।
अब तक केवल कुछ ही कंपनियां इस बात को समझने में सक्षम रही हैं। लेकिन यहाँ एक तरह का चयन भी हो रहा है: वे ठीक वही कंपनियाँ हैं जहाँ प्रोग्रामर काम करना सबसे ज़्यादा पसंद करेंगे। उदाहरण के लिए, Google। जब वे जावा प्रोग्रामिंग नौकरियों का विज्ञापन करते हैं, तो वे पाइथन अनुभव भी चाहते हैं।
मेरा एक दोस्त जो लगभग सभी व्यापक रूप से उपयोग की जाने वाली भाषाओं को जानता है, अपने अधिकांश प्रोजेक्ट के लिए पाइथन का उपयोग करता है। उनका कहना है कि मुख्य कारण यह है कि उन्हें स्रोत कोड का रूप पसंद है। एक भाषा को दूसरी भाषा पर चुनने के लिए यह एक तुच्छ कारण लग सकता है। लेकिन यह उतना तुच्छ नहीं है जितना लगता है: जब आप प्रोग्राम करते हैं, तो आप कोड लिखने से ज़्यादा समय कोड पढ़ने में बिताते हैं। आप स्रोत कोड के ब्लॉब को उसी तरह धकेलते हैं जैसे एक मूर्तिकार मिट्टी के ब्लॉब को धकेलता है। इसलिए एक भाषा जो स्रोत कोड को बदसूरत बनाती है, एक सटीक प्रोग्रामर के लिए पागल करने वाली होती है, जैसे कि गांठों से भरी मिट्टी एक मूर्तिकार के लिए होगी।
बदसूरत स्रोत कोड के उल्लेख पर, लोग निश्चित रूप से पर्ल के बारे में सोचेंगे। लेकिन पर्ल की सतही कुरूपता वह नहीं है जिसका मैं मतलब है। असली कुरूपता कठोर दिखने वाला सिंटैक्स नहीं है, बल्कि गलत अवधारणाओं से प्रोग्राम बनाना है। पर्ल एक कार्टून चरित्र की तरह गाली दे रहा होगा, लेकिन ऐसे मामले हैं जहाँ यह अवधारणात्मक रूप से पाइथन से आगे निकल जाता है।
अब तक, वैसे भी। दोनों भाषाएँ निश्चित रूप से चलती लक्ष्य हैं। लेकिन वे रूबी (और आइकॉन, और जॉय, और जे, और लिसप, और स्मॉलटॉक) के साथ यह तथ्य साझा करते हैं कि वे उन लोगों द्वारा बनाए गए हैं और उनका उपयोग किया जाता है जो वास्तव में प्रोग्रामिंग की परवाह करते हैं। और वे ही आमतौर पर वे होते हैं जो इसे अच्छी तरह से करते हैं।