/पायथन बहुत धीमा है. क्या जूलिया दो-भाषा समस्या का समाधान कर सकती है?
पायथन बहुत धीमा है. क्या जूलिया दो-भाषा समस्या का समाधान कर सकती है?

पायथन बहुत धीमा है. क्या जूलिया दो-भाषा समस्या का समाधान कर सकती है?

एक शैली के रूप में, “पुरस्कार स्वीकृति व्याख्यान” एक औपचारिकता और साधारणता से थोड़ा अधिक है। लेकिन इस नियम में कम से कम एक आकर्षक अपवाद है – अग्रणी कंप्यूटर वैज्ञानिकों द्वारा उनके ट्यूरिंग अवार्ड्स के अवसर पर दी गई वार्ता।

कुछ लोग घोषणापत्र की तरह पढ़ते हैं: जॉन बैकस का ”क्या प्रोग्रामिंग को वॉन न्यूमैन शैली से मुक्त किया जा सकता है?” (1977) ने एक नए प्रतिमान को प्रेरित किया जिसने हास्केल जैसी कार्यात्मक भाषाओं को जन्म दिया। अन्य चेतावनियाँ हैं: अपने “रिफ्लेक्शन्स ऑन ट्रस्टिंग ट्रस्ट” (1984) में, केन थॉम्पसन ने पिछले दरवाजे वाले कंपाइलरों के खतरे का प्रदर्शन किया, जो संभवतः सुरक्षा कमजोरियों को रोक सकता है। “द हम्बल प्रोग्रामर” (1972) में एडस्गर डिज्क्स्ट्रा ने अपने जैसे लोगों से चतुराई से सावधान रहने और “मानव मन की आंतरिक सीमाओं” को स्वीकार करने का आग्रह किया।

हमारे उद्देश्यों के लिए, केनेथ इवरसन के 1979 के प्रमुख व्याख्यान, “सोच के एक उपकरण के रूप में नोटेशन” पर विचार करें। इसमें, उन्होंने प्रदर्शित किया कि गणितीय नोटेशन केवल सुविधाजनक शॉर्टहैंड-सीओ नहीं हैं2 कार्बन डाइऑक्साइड के लिए, MMMDCCCLXXXVIII के लिए 3,888—वे नई अंतर्दृष्टियों को भी आसानी से खोजने योग्य बनाते हैं। जैसा कि गणितज्ञ अल्फ्रेड नॉर्थ व्हाइटहेड ने एक बार कहा था: “मस्तिष्क को सभी अनावश्यक कार्यों से मुक्त करके, एक अच्छा नोटेशन इसे अधिक उन्नत समस्याओं पर ध्यान केंद्रित करने के लिए स्वतंत्र करता है।”

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

साल 2026 एपीएल की शुरुआत के 60 साल पूरे हो गए हैं और एक नई तरह की दो-भाषा समस्या ने वैज्ञानिक कंप्यूटिंग के क्षेत्र को संकट में डाल दिया है। सत्तारूढ़ प्रोग्रामिंग भाषा पायथन है, लेकिन यह एक शक्तिशाली विजेता के रूप में नहीं बल्कि चकमा देने वाले राजा के रूप में शासन करती है। दूसरे शब्दों में, पायथन बहुत धीमा है – एक ऐसा दोष जिससे उसके सबसे प्रबल रक्षक भी इनकार नहीं करेंगे।

इसलिए दो-भाषा की समस्या: शोधकर्ता धीमी, अनुकूल पायथन में प्रोटोटाइप करते हैं, लेकिन प्रदर्शन-महत्वपूर्ण भागों के लिए, C++ या रस्ट जैसी तेज़, कम अनुकूल भाषाओं में फिर से लिखते हैं। एआई कोडिंग एजेंटों की एक पलटन बनाकर इस सीमा को हल नहीं किया जा सकता है, क्योंकि आप धीमी भाषा को कितना भी अनुकूलित कर लें, तेज़ भाषा उससे बेहतर प्रदर्शन करेगी।

ये बाइनरी ट्रेड-ऑफ़ अन्य डोमेन में मौजूद हैं। उदाहरण के लिए, आप कह सकते हैं कि निर्माण में दो-सामग्री की समस्या है। किसी संरचना के प्रोटोटाइप के लिए लकड़ी एक लचीली सामग्री है – यहां तक ​​कि एक शौकिया भी एक कार्यात्मक इमारत को देख और जोड़ सकता है। लेकिन यह गगनचुंबी इमारत खड़ी करने के लिए अच्छा नहीं है। इससे एक स्पष्ट प्रश्न उठता है: क्या होगा यदि कोई ऐसी सामग्री हो जो लकड़ी जैसी लेकिन स्टील जितनी मजबूत हो? क्या होगा यदि कोई भाषा पाइथॉन जैसी एर्गोनोमिक लेकिन सी जितनी तेज़ हो?

2012 में, चार मजबूत गणितीय प्रामाणिकता वाले कंप्यूटर वैज्ञानिक आधुनिक समय की दो-भाषा समस्या का समाधान करने के लिए एक साथ आए। “हमने जूलिया को क्यों बनाया” नामक एक लघु निबंध में उन्होंने कहा कि उन्होंने यह परियोजना इसलिए ली क्योंकि “हम लालची हैं।” उनका पाठ प्रोग्रामिंग भाषाओं के वैलेंटाइन की तरह शुरू होता है:

हम पावर मैटलैब उपयोगकर्ता हैं। हममें से कुछ लिस्प हैकर हैं। कुछ पाइथॉनिस्टा हैं, अन्य रूबीस्ट हैं, फिर भी अन्य पर्ल हैकर हैं… हमने किसी भी समझदार व्यक्ति की तुलना में अधिक आर प्लॉट तैयार किए हैं। C हमारी रेगिस्तानी द्वीप प्रोग्रामिंग भाषा है।

लेकिन इनमें से प्रत्येक भाषा, उन्होंने लिखा, “कार्य के कुछ पहलुओं के लिए बिल्कुल सही है और दूसरों के लिए भयानक है।” वे जितने लालची थे, वे “एक ऐसी भाषा चाहते थे जो खुला स्रोत हो, उदार लाइसेंस के साथ… कुछ ऐसा जो सीखना बहुत आसान हो, फिर भी सबसे गंभीर हैकर्स को खुश रखे।” जूलिया उन सभी को एकजुट करने वाली एक भाषा होगी।