यह सामान्य अनुप्रयोगों जहां अजगर अनुपयुक्त होगा के प्रकार के बारे में सोचना कठिन है, लेकिन कई प्रकार जहां, यह जैसा बस के बारे में सभी उच्च स्तर भाषाओं की तरह, यह एक अजीब और शायद अवर विकल्प माना जा सकता है देखते हैं ।
"हार्ड रीयल टाइम" अनुप्रयोगों में, सभी गतिशील स्मृति आवंटन और मुक्त करने, और विशेष रूप से कचरा संग्रह, काफी समझ में आता है; यह लगभग सभी आधुनिक भाषाओं (पायथन सहित, लेकिन जावा, सी #, इत्यादि सहित) को भी नियम देता है, क्योंकि उनमें से लगभग सभी गतिशील मेमोरी हैंडलिंग और किसी प्रकार या कचरे के संग्रह पर भरोसा करते हैं।
यदि आप "एम्बेडेड डिवाइस" के लिए प्रोग्रामिंग कर रहे हैं, जिसे आप बड़ी संख्या में उत्पादित और बेचे जाने की उम्मीद करते हैं, तो रोम का हर बिट कुल लागत में माप सकता है, इसलिए आप एक भाषा को नीचे निचोड़ने पर केंद्रित करना चाहते हैं आखिरी संभव बिट तक - कोई भी भाषा जो एक समृद्ध सहायक रनटाइम पर्यावरण या ऑपरेटिंग सिस्टम (पायथन सहित, और फिर, जावा, सी # इत्यादि आदि) पर निर्भर करती है, इसमें कोई संदेह नहीं होगा कि आप कई और बिट्स पर अतिरिक्त खर्च करें रॉम (अच्छी पुरानी फर्थ की तरह थ्रेडेड-व्याख्यात्मक भाषाओं पर विचार करें: वे एक पर्याप्त अनुप्रयोग कोड को सरल मशीन कोड की तुलना में मापने योग्य रूप से अधिक कॉम्पैक्ट बना सकते हैं!)।
कई अन्य निचोड़ हैं जो समान बाधाओं को साझा करते हैं (अधिकतर स्मृति पर ध्यान केंद्रित करते हैं: संभवतः कुछ बिट्स के रूप में उपयोग करने पर ध्यान केंद्रित करते हैं और/या सटीक पूर्व निर्धारित सीमाओं के भीतर सख्ती से निष्पादन को सीमित करते हैं - कोई गतिशीलता, आवंटन, कोई कचरा संग्रह आदि नहीं। , आदि), और मूल रूप से मामला एक बार फिर इसी तरह से उतार देगा (उदाहरण के लिए, सर्वर अनुप्रयोग हैं, जो सर्वर के असंख्य पर चलने के लिए लक्षित हैं, जो सी ++ में कोड किए जाने पर प्रति सर्वर कई मेगाबाइट बचा सकता है [विशेष रूप से अगर बिना "कथित तौर पर- स्मार्ट, पॉइंटर्स ;-)] जावा, पायथन, सी #, और इसी तरह के बजाय)।
बेशक कई आधुनिक भाषाएं (पायथन, जावा, सी #, आदि) गतिशील स्मृति आवंटन, कचरा संग्रह, और आगे के लिए उत्कृष्ट कारण हैं, आवेदन निचोड़ के महत्व के बावजूद, जहां ये तकनीकें नकारात्मक पहलू हैं: अनिवार्य रूप से, यदि आप संभवतः इस तरह की अच्छी मेमोरी हैंडलिंग का भुगतान कर सकते हैं, तो लिखने के अनुप्रयोग बहुत अधिक हो जाते हैं, बहुत सारी समस्याएं और समस्याओं की पूरी कक्षा और सावधानी से प्रबंधन की आवश्यकता से जुड़ी बग, यदि आपके पास ऐसे समर्थन की कमी है तो दूर जा सकते हैं - प्रोग्रामर उत्पादकता वास्तव में बढ़ती है ... अगर कचरा संग्रह और जैसा कि बिल्कुल खर्च किया जा सकता है, वह है। उदाहरण के लिए, यदि कोई एप्लिकेशन कुछ सैकड़ों या हजारों सर्वरों पर चलने वाला था, तो शायद मैं स्मृति को बचाने के लिए मैन्युअल मेमोरी प्रबंधन के साथ सी ++ में कोडिंग को परेशान नहीं करूंगा; यह केवल दसियों और सैकड़ों हजारों सर्वरों पर है, जो कि उन सभी अतिरिक्त मेगाबाइट्स का अर्थशास्त्र वास्तव में अंदर आता है।
ध्यान दें कि, "गलत भाषाएं" (एक समृद्ध अंतर्निहित रनटाइम या वीएम जैसे लोगों के समान गलत धारणा के बावजूद) जावा, सी #, पायथन, इत्यादि) वास्तव में "धीमे होते हैं", वास्तव में अधिकांश सीपीयू-गहन अनुप्रयोगों (जैसे कि वैज्ञानिक गणना) के लिए, पायथन पूरी तरह से उपयुक्त है, जब तक कि "समृद्ध सहायक रनटाइम पर्यावरण" (उदाहरण के लिए numpy
) इसलिए, यह वास्तव में एक कारक नहीं है - हालांकि कुछ खपत में स्मृति खपत और कचरा संग्रह हो सकता है।
@Stackoverflow पाठकों:।। समर्थक प्रदान करने के लिए आप सभी को धन्यवाद मेरी क्वेरी के लिए mpt जवाब। – Rachel