संक्षिप्त उत्तर है: हम नहीं जानते , 100 वर्षों में फिर से पूछें। (हम तब भी नहीं जान सकते हैं; संभवतः हम कभी नहीं जान पाएंगे।)
सिद्धांत रूप में, यह संभव है। उन सभी कार्यक्रमों को लें जो कभी भी लिखे गए हैं, मैन्युअल रूप से उन्हें सबसे कुशल संभव मशीन कोड में अनुवाद करते हैं, और एक दुभाषिया लिखते हैं जो स्रोत कोड को मशीन कोड में मैप करता है। यह तब से संभव है, जब कभी केवल एक सीमित संख्या में कार्यक्रम लिखे गए हों (और जैसे-जैसे अधिक कार्यक्रम लिखे जाते हैं, मैनुअल अनुवाद जारी रखें)। यह भी, ज़ाहिर है, व्यावहारिक रूप से पूरी तरह से मूर्खतापूर्ण है।
फिर, सिद्धांत रूप में, उच्च-स्तरीय भाषाएं मशीन कोड के प्रदर्शन तक पहुंचने में सक्षम हो सकती हैं, लेकिन वे इसे पार नहीं करेंगे। यह अभी भी बहुत सैद्धांतिक है, क्योंकि व्यावहारिक रूप में, हम मशीन कोड लिखने के लिए बहुत कम ही सहारा लेते हैं। यह तर्क उच्च-स्तरीय भाषाओं की तुलना करने पर लागू नहीं होता है: इसका यह अर्थ नहीं है कि C, पायथन की तुलना में अधिक कुशल होना चाहिए, केवल यह कि मशीन कोड पायथन से भी बदतर नहीं हो सकता है।
दूसरी तरफ से, विशुद्ध रूप से प्रायोगिक दृष्टि से, हम देख सकते हैं कि अधिकांश समय , उच्च-स्तरीय भाषाओं की व्याख्या की गई संकलित निम्न-स्तरीय भाषाओं से भी बदतर है। हम असेंबली में बहुत उच्च-स्तरीय भाषाओं और समय-महत्वपूर्ण आंतरिक छोरों में गैर-समय-संवेदनशील कोड लिखना चाहते हैं, सी और पायथन जैसी भाषाओं के बीच में आते हैं। जबकि मेरे पास इसे वापस करने के लिए कोई आँकड़े नहीं हैं, मुझे लगता है कि यह वास्तव में ज्यादातर मामलों में सबसे अच्छा निर्णय है।
हालांकि, ऐसे निर्विरोध उदाहरण हैं जहां उच्च-स्तरीय भाषाओं ने उस कोड को हरा दिया है जो वास्तविक रूप से लिखेगा: विशेष प्रयोजन प्रोग्रामिंग वातावरण। मतलाब और गणितज्ञ जैसे कार्यक्रम अक्सर कुछ प्रकार की गणितीय समस्याओं को हल करने में बेहतर होते हैं, जो कि मात्र नश्वर लिख सकते हैं। लाइब्रेरी फ़ंक्शंस को C या C ++ में लिखा जा सकता है (जो कि "निम्न-स्तरीय भाषाएं अधिक कुशल हैं" शिविर के लिए ईंधन है), लेकिन यह मेरे व्यवसाय में से कोई भी नहीं है अगर मैं मैथेमेटिका कोड लिख रहा हूं, तो लाइब्रेरी एक ब्लैक बॉक्स है।
क्या सैद्धांतिक रूप से यह संभव है कि पायथन सी के मुकाबले इष्टतम प्रदर्शन के करीब, या शायद करीब भी मिलेगा? जैसा कि ऊपर देखा गया है, हाँ, लेकिन हम आज उससे बहुत दूर हैं। फिर, पिछले दशकों में कंपाइलरों ने बहुत प्रगति की है, और यह प्रगति धीमी नहीं हो रही है।
उच्च-स्तरीय भाषाएं अधिक चीजों को स्वचालित बनाती हैं, इसलिए उनके पास प्रदर्शन करने के लिए अधिक काम होता है, और इस प्रकार वे कम कुशल होते हैं। दूसरी ओर, वे अधिक अर्थ संबंधी जानकारी रखते हैं, इसलिए अनुकूलन को स्थान देना आसान हो सकता है (यदि आप हास्केल संकलक लिख रहे हैं, तो आपको चिंता करने की ज़रूरत नहीं है कि एक और धागा आपकी नाक के नीचे एक चर को संशोधित करेगा)। सेब और संतरे की विभिन्न प्रोग्रामिंग भाषाओं की तुलना करने के कई प्रयासों में से एक कंप्यूटर भाषा बेंचमार्क गेम है (जिसे पहले गोलीबारी के रूप में जाना जाता था)। फोरट्रान संख्यात्मक कार्यों पर चमकता है; लेकिन जब संरचित डेटा या उच्च-दर थ्रेड कम्यूटेशन में हेरफेर करने की बात आती है, F # और स्काला अच्छा करते हैं। इन परिणामों को सुसमाचार के रूप में न लें: जो वे माप रहे हैं, उनमें से प्रत्येक भाषा में परीक्षण कार्यक्रम का लेखक कितना अच्छा है।
उच्च-स्तरीय भाषाओं के पक्ष में एक तर्क यह है कि आधुनिक प्रणालियों पर प्रदर्शन को इतनी दृढ़ता से सहसंबंधित नहीं किया जाता है कि निर्देशों की संख्या निष्पादित होती है, और समय के साथ कम होती है। सरल अनुक्रमिक मशीनों के लिए निम्न-स्तरीय भाषाएं अच्छे मेल हैं। यदि उच्च-स्तरीय भाषा कई निर्देशों के अनुसार दो बार निष्पादित होती है, लेकिन कैश का अधिक बुद्धिमानी से उपयोग करने का प्रबंधन करती है तो यह आधे से अधिक कैश मिस करता है, यह विजेता को समाप्त कर सकता है।
सर्वर और डेस्कटॉप प्लेटफार्मों पर, सीपीयू लगभग एक पठार पर पहुंच गए हैं, जहां उन्हें कोई तेज़ नहीं मिलता है (मोबाइल प्लेटफ़ॉर्म वहां भी मिल रहे हैं); यह उन भाषाओं का पक्षधर है जहाँ समानता का फायदा उठाना आसान है। बहुत सारे प्रोसेसर I / O प्रतिक्रिया के इंतजार में अपना अधिकांश समय बिताते हैं; अभिकलन में बिताया गया समय I / O की मात्रा की तुलना में बहुत कम है, और एक ऐसी भाषा जो प्रोग्रामर को संचार को कम करने की अनुमति देती है।
सभी सभी, जबकि उच्च-स्तरीय भाषाएं दंड के साथ शुरू होती हैं, उनके पास सुधार के लिए अधिक जगह है। वे कितने करीब आ सकते हैं? 100 वर्षों में फिर से पूछें।
अंतिम नोट: अक्सर, तुलना सबसे कुशल कार्यक्रम के बीच नहीं होती है जिसे भाषा ए और भाषा बी में समान लिखा जा सकता है , और न ही प्रत्येक भाषा में लिखे गए सबसे कुशल कार्यक्रम के बीच, लेकिन सबसे कुशल कार्यक्रम के बीच जो लिखा जा सकता है प्रत्येक भाषा में एक निश्चित समय में मानव द्वारा । यह एक ऐसे तत्व का परिचय देता है जिसका विश्लेषण गणितीय रूप से नहीं किया जा सकता है, यहां तक कि सिद्धांत में भी। व्यावहारिक रूप से, इसका अर्थ अक्सर यह होता है कि सर्वश्रेष्ठ प्रदर्शन, प्रदर्शन लक्ष्यों को पूरा करने के लिए आपको कितने निम्न-स्तरीय कोड लिखने की आवश्यकता है और रिलीज़ होने की तारीखों को पूरा करने के लिए लिखने के लिए आपके पास कितना निम्न-स्तरीय कोड है।