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