C की तुलना में एक तेज़, "बेहतर" भाषा क्यों नहीं निकलती है? [बन्द है]


147

आज सभी नई "आधुनिक" भाषाओं के साथ, यह कैसे है कि सी अभी भी सबसे तेज और "मशीन के सबसे करीब" के रूप में हेराल्ड है? मुझे वास्तव में विश्वास नहीं है कि कभी भी केवल चीजों को करने का एक सही तरीका है, और सी लगभग 60 साल (लंबे समय के बाद!) के लिए है। क्या हम वास्तव में लगभग 50 साल पहले लिखी गई किसी चीज़ से बेहतर नहीं आए हैं?

मुझे पता है कि आधुनिक भाषाएं उच्च स्तर की हैं और कचरा संग्रहण और स्मृति आवंटन जैसे कुछ कार्यों का ध्यान रखती हैं और पुस्तकालयों और इस तरह का उपयोग करती हैं। मैं सिर्फ यह पूछ रहा हूं कि सी के लिए कभी कोई दूसरा सही विकल्प क्यों नहीं रहा।

क्या ऐसा हो सकता है कि सी इतना सही है कि कंप्यूटर को संचालित करने का कोई अन्य तरीका संभव नहीं हो सकता है (डेवलपर-अलग-अलग)?

EDIT देखो, मैं C या जो भी आपकी पसंदीदा भाषा है, उसे खटखटाने की कोशिश नहीं कर रहा हूँ। मैं सोच रहा हूं कि सी क्यों मानक बन गया है और अन्य विकल्प क्यों नहीं उभरे हैं और सी सिर्फ "स्वीकृत" था।


44
C ++ में लिखने के लिए बस उतना ही तेज़ और बहुत अधिक उत्पादक है। <3
GManNickG

6
उम, क्या आप सी ++ के बारे में नहीं भूल रहे हैं?

23
मेरा तर्क है कि मशीन के लिए विधानसभा सबसे तेज और "निकटतम" है।

27
सभी गतियों को बंद क्यों करें? मैं वास्तव में उत्सुक हूँ ... मैं लौ युद्धों या कुछ भी शुरू करने की कोशिश नहीं कर रहा हूँ
जेसन

15
फिर से बंद? जेफ atwood द्वारा खुद को फिर से खोलने के बाद? आप संभवतः इसे बंद क्यों करना चाहेंगे?
जेसन

जवाबों:


164

सी एक बहुत ही सरल भाषा है, और इसकी वजह है, इसकी लंबी उम्र के साथ, यह तेज और अनुकूलित है। एम्बेडेड परिवेश, माइक्रोप्रोसेसरों, आदि के साथ चिंताओं में यह असाधारण रूप से व्यापक रूप से समर्थित है।

वास्तव में सरल और तेज़ भाषा को हरा पाना कठिन है। किसी भाषा पर सुधार करने के लिए एकमात्र चीज ऐसी है जो प्रयोज्य है: समान, सामान्य कोड बनाने में लगने वाले समय को कम करें, और इसे अमूर्त के साथ मॉडल करना आसान बनाएं।

यह वह जगह है जहां C ++ आता है। C ++ केवल C के समान तेज़ हो सकता है। बात यह है कि, C ++ बहुत अधिक जटिल भाषा है, जिसका अर्थ है कि यह निश्चित रूप से उत्पादकता बढ़ाती है; जब तक लोग इसका उपयोग करना जानते हैं। सी ++ और सी हैं नहीं लगभग एक ही अब और भाषा।

अब, डी एक और कदम था। फास्ट कोड, वैकल्पिक कचरा संग्रह, आदि के लिए समान क्षमता, लेकिन यह कभी नहीं पकड़ा गया। उम्मीद है कि परिवर्तन, क्योंकि यह क्या गिरता है सी + +: सी के साथ पीछे संगतता।

इसलिए आपके प्रश्न का उत्तर देने के लिए, "बेहतर" न्याय करना एक कठिन बात है। सादगी और गति के संदर्भ में, सी शायद सबसे अच्छे के करीब है जो हम कर सकते थे। उत्पादकता बनाम सादगी के संदर्भ में, C ++ शायद सबसे अच्छा है जो हम कर सकते हैं, हालांकि यह राय बहुत अधिक भिन्न होती है। अंत में, एक fleshed-out और clean up भाषा के संदर्भ में, C की गति और सरलता के साथ, D इस संदर्भ को जीतता है।


31
"सिंपल" से आपका मतलब है "कम्पाइलर्स POV से सिंपल, न कि प्रोग्रामर POV"। सी सरल है क्योंकि यह मूल रूप से बयानों और अभिव्यक्तियों के साथ संयोजन है। यह आसान नहीं है जिस तरह से पायथन सरल है।
मारियस

15
लेकिन स्पष्ट करने के लिए, संकलक के लिए सरल है लेने के लिए सरल मतलब है। शायद जटिल विचारों को लागू करने के लिए सरल नहीं है।
GManNickG

16
इसके लायक क्या है, OCaml C और C ++ के रूप में उपवास के बारे में अत्यधिक अनुकूलित देशी कोड का उत्पादन करता है, और कोड स्वयं Pyon के समान है। थोड़ी सी पॉलिश के साथ, मुझे लगता है कि ओकाम्ल सी को अपनी पसंद की भाषा के रूप में सी या मैच कर सकता है जब आपको अधिकतम गति और न्यूनतम मेमोरी फ़ुटप्रिंट के लिए कोड लिखने की आवश्यकता होती है। ऑब्जेक्टिव-सी भी एक बहुत अच्छा काम करता है, हालांकि इसका हमेशा सी जितना तेज़ नहीं होता है, यह पूरी तरह से "ऑब्जेक्ट्स के साथ सी" चीज़ हो जाता है, जिस तरह से सी ++ कभी नहीं हो सकता और न ही कभी होगा।
जूलियट

2
@ Thorbjørn के साथ सहमत, C के साथ पीछे की संगतता है क्यों C ++ ने पकड़ा और D ने नहीं। यदि हम उस एक को देने के लिए तैयार हैं, तो डी। के वृद्धिशील सुधार के लिए समझौता करने का कोई कारण नहीं है। हम उन बेहतर भाषाओं के लिए जा सकते हैं जो पूरी तरह से सी परिवार से बाहर हैं। जैसा कि @ जूलियट का कहना है, ओकेमेल एक व्यवहार्य दावेदार प्रदर्शन-वार हो सकता है। लेकिन इतनी संख्या में अन्य भाषाएं हो सकती हैं, अगर कंपाइलर लेखकों ने उन पर उतना समय बिताया हो जितना कि उनके पास C या C ++ पर है। वैसे भी, अच्छा जवाब है, और मुझे से +1।
jalf

5
@Ferruccio: हाँ, लेकिन हर भाषा सी लाइब्रेरी से लिंक हो सकती है। इसलिए यदि हम C ++ (अधिक या कम) ऑफ़र के रूप में वास्तविक स्रोत कोड संगतता के बजाय, इसके लिए समझौता करने को तैयार हैं, तो हम हास्केल या पायथन को पूरी तरह से अलग भाषा कह सकते हैं। C ++ के पकड़े जाने का कारण यह नहीं था कि यह C पुस्तकालयों से लिंक हो सकता था । यह था कि यह सी कोड संकलित कर सकता है।
जलफ

64

C भाषाओं की तुलना में तेज़ हैं।

सी। की तुलना में तेज़ भाषाएं हैं। उदाहरण के लिए, फोरट्रान जैसा कि पहले ही उल्लेख किया गया है, बहुत अच्छा कर रहा है क्योंकि इसमें बहुत अधिक प्रतिबंधित अलियासिंग भाषा नियम हैं।

भाषाओं की तरह प्रायोगिक असेंबली भी हैं जो सामने वाले सी पर हमला कर रहे हैं जहां इसका उपयोग उच्च स्तर की असेंबल भाषा के रूप में किया जाता है उदाहरण के लिए कंपाइलर निर्माण। कभी C-- या जानूस के बारे में सुना है? लेकिन उन दोनों को एलएलवीएम प्रोजेक्ट ने मार डाला।

मैं शर्त लगाता हूं कि एपीएल या अन्य गणितीय भाषाएं सी में पानी से बाहर उड़ाएगी विशेष अनुप्रयोग डोमेन में वे वेक्टर प्रसंस्करण इकाइयों के समर्थन में बनाते हैं। यह कुछ ऐसा है जो सी (और लोगों के लिए संभव नहीं है: नहीं! सी लिंकेज के साथ विशेष अनुकूलित पुस्तकालयों का भाषा के रूप में सी के साथ कोई लेना-देना नहीं है)।

इसके अलावा सीपीयू उत्पादकों ने अन्य भाषाओं में संकलक लेखकों की मदद करने वाले सभी सामानों को हटा दिया - एसपीएआरसी पर एलआईएसपी कार्यान्वयन के लिए टैग किए गए अंकगणितीय कोडांतरक कोड याद रखें? हवा में उड़ गया।

और यदि आप अनुप्रयोग विकास के लिए माइक्रो बेंचमार्क से दूर जाते हैं तो अनुप्रयोग विकास के लिए तेज भाषाएं हैं। यहाँ मेरा व्यक्तिगत उदाहरण हमेशा SmartEiffel है। यह C को लक्षित करता है लेकिन वैश्विक प्रणाली अनुकूलन का उपयोग कर रहा है जो इसे वास्तविक विश्व अनुप्रयोग विकास में तेजी से C बनाता है।

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

बस एक अच्छा हाथ से लिखा कार्यान्वयन के साथ एक मेगाबाइट सरणी पर एक qsort कॉल की तुलना करें जो एरे एक्सेस और बिलिन '<' ऑपरेटर का उपयोग कर रहा है।


9
बहुत अच्छी टिप्पणी। यह महसूस करना महत्वपूर्ण है कि सी भाषा कल्पना (जैसे सूचक एलियासिंग नियम) के कुछ पहलू वास्तव में इष्टतम मशीन कोड उत्पन्न करना असंभव बनाते हैं। एक उच्च-स्तरीय असेंबलर होने के नाते, सी "सबसे तेज़" नहीं है, लेकिन केवल "बहुत तेज़" है।

1
धन्यवाद मैं कई परिणाम मूल्यों को वापस करने के लिए असंभवता का उल्लेख करना भूल गया। एक और निम्न स्तर का पहलू जो मुझे उच्च स्तरीय कोडांतरक के रूप में उपयोग करते समय कठिन याद आ रहा है।

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

1
@ राशर: यह सही है और वहाँ आप सीपीयू डिजाइनरों पर सी के प्रभाव को देखते हैं जो हमेशा सीपीयू एबीआई को निर्दिष्ट करते हैं। और कई रिटर्न मान कुछ ऐसा है जो बस वहाँ तक नहीं आता है, भले ही रजिस्टरों की संख्या एक समस्या नहीं होगी (SPARC, PowerPC, Itanium)

13
C में सूचक एलियासिंग restrictC99 द्वारा (10 साल पहले!) से निपटा गया है ।

35

अच्छा प्रश्न। मुझे लगता है कि आला खोजने से भाषाएं सफल होती हैं। यह ध्यान रखना महत्वपूर्ण है कि बहुत सी नई भाषाएं हैं जो उनके नख में सी से बेहतर हैं।

  • C का उपयोग एक बार व्यापक रूप से एक अनुप्रयोग भाषा के रूप में किया गया था, और उस डोमेन में यह C ++, Java और हाल ही में सभी प्रकार की अन्य भाषाओं (विशेष रूप से गतिशील भाषा) के लिए जमीन खो दिया है।

  • C सर्वर कोड लिखने के लिए एक भाषा हुआ करता था। वेब ने उस स्थान में भाषाओं की एक अद्भुत विविधता को धक्का दिया - पर्ल, जावा, पायथन, वीबीएसस्क्रिप्ट, वीबी.नेट, रूबी, सी # - और ऐसे मामले जहां सी सर्वर कोड के लिए किसी भी तरह की समझ बनाता है वे अब कुछ और दूर हैं।

  • सी का उपयोग वैज्ञानिक कंप्यूटिंग के लिए किया गया है, लेकिन यह मैटलैब और मैथेमेटिका जैसी डोमेन-विशिष्ट भाषाओं, साथ ही साथ SciPy जैसी पुस्तकालयों की प्रतिस्पर्धा का सामना करता है । इस आला में कोड लिखने वाले बहुत से लोग व्यापार द्वारा कोडर नहीं हैं और सी उनके लिए एक महान फिट नहीं है।

लेकिन सी का आला सिस्टम कोड है। ऑपरेटिंग सिस्टम गुठली। ड्राइवर। रन-टाइम लाइब्रेरी। यह उस स्थान पर इतना स्थापित है कि C ++ भी इसे धीरे-धीरे विस्थापित कर रहा है।

सी ने 1970 के दशक में UNIX के कारण वापस जीत लिया, क्योंकि प्रतिस्पर्धी भाषाएं बहुत अधिक प्रतिबंधात्मक या बहुत धीमी थीं, और क्योंकि C कोड को यथोचित पोर्टेबल (झूठ, तब भी) माना जाता था। लेकिन इसके सबसे बड़े फायदे आज असंबंधित हैं, और मुख्य रूप से अपने आला पर हावी होने के दशकों से हैं। C के लिए अच्छे साधन हैं: संकलक, कर्नेल डिबगर्स का अनुकूलन, ड्राइवर कोड में बग ढूंढने के लिए प्रभावी स्थैतिक विश्लेषण आदि। लगभग हर प्रमुख मंच एक C ABI को परिभाषित करता है, और अक्सर यह पुस्तकालयों के लिए लिंगुआ फ्रेंका है। प्रोग्रामर का एक पूल है जो जानता है कि सी को कैसे कोड किया जाए - और जो जानते हैं कि सी की समस्याएं और नुकसान क्या हैं।

दीर्घकालिक, यह आला दूर नहीं जा रहा है; और सी में कुछ समस्याएं हैं। लेकिन किसी भी नवागंतुक के लिए प्रतिस्पर्धा करना अभी भी बेहद कठिन होगा।


9
C अभी भी व्यापक रूप से सर्वर कोड के लिए उपयोग किया जाता है। न केवल वेब, अधिकांश DNS, ईमेल, आदि सर्वर सी में लिखे गए हैं। यहां तक ​​कि वेब के लिए, अपाचे सी में है

@bortzmeyer: अपाचे हालांकि बहुत पुराना है। मैं यह नहीं कह रहा हूं कि यह उपयोगी नहीं है या इसे समाप्त नहीं किया गया है, यह सिर्फ तब बनाया गया था जब सी यह था और कई अच्छे विकल्प नहीं थे।
मैके डे

1
मैं इस बात के लिए उत्सुक हूं कि आप वैज्ञानिक कंप्यूटिंग के लिए सी को "एक महान फिट नहीं" क्यों मानते हैं। पायथन में काम करने के लिए समान रूप से अधिक सुखद है, लेकिन मैंने सी को ठोस विकल्प के रूप में पाया है जब तेज कोड की आवश्यकता होती है और प्रोग्रामिंग के अन्य पहलुओं के विपरीत, संभावित विकल्पों में से कई (सी ++) मेज पर एक बड़ी राशि नहीं लाते हैं। ।
फोमाइट

1
इसके अलावा, SciPy / NumPy आदि में जो सामान C में लिखा है , वह पहले से ही जानना उपयोगी है।
फोमाइट

1
@EpiGrad शायद सी आपके लिए एक ठोस विकल्प है। लेकिन सी में एक सुपर स्टीपिंग सीखने की अवस्था है, खासकर उन लोगों के लिए जिनके पास कोडिंग में पृष्ठभूमि नहीं है। विशेष रूप से, कभी-कभी यह दुर्घटनाग्रस्त हो जाता है, और यदि आप एक कोडर नहीं हैं, तो आपको यह पता लगाने की बहुत कम उम्मीद है। गणितज्ञ बड़ी संख्या में चीजों को लिखना आसान बनाता है और आप सैकड़ों के कारक कम कोड के साथ समाप्त होते हैं। और यह दुर्घटना नहीं करता है।
जेसन ओरेंडोर्फ

25

एक बहुत अच्छी टिप्पणी को परिभाषित करते हुए: किसी भाषा को तेज और "मशीन के करीब" बनाने के लिए कई अलग-अलग तरीके नहीं हैं - सी ने इसे अच्छी तरह से किया, और उस पर सुधार करने के लिए शायद ही कोई जगह है।

मूल उत्तर:

निष्पादित करने के लिए तेज़ या सामान लिखने के लिए तेज़?

भाषाएं निष्पादित करने के लिए तेज़ या धीमी नहीं हैं , विशिष्ट कार्यान्वयन हैं। एक कमी केवल दूसरों की तुलना में तेजी से माना जा सकता है जब यह किसी भी तरह एक तेजी से कार्यान्वयन के लिए आसान बनाता है । हमेशा, इसका मतलब है कि "मशीन के करीब"। लेकिन मशीनों के तेजी से तेजी से बढ़ने के साथ, यह समय के साथ उत्तरोत्तर कम दिलचस्प हो गया है। इसके बजाय, विकास और पोर्टेबिलिटी की आसानी और गति बहुत अधिक महत्वपूर्ण हो गई है, इसलिए "बेहतर" का मतलब "मशीन से दूर" हो गया है । भाषा के डिजाइन में बहुत सारे प्रयास पिछले 5 दशकों से उस दिशा में चले गए हैं।

इसलिए आप वहां हैं: मशीन के करीब और सी की तुलना में तेज़ भाषाएं; वे वे हैं जो C : असेंबलर, फोरट्रान से पहले आए थे । शायद कुछ भूल गए।


@michael - लेकिन अभी भी सुपर-लीन, सुपर-फास्ट प्रोग्रामिंग के लिए एक बाजार है, विशेष रूप से इन सभी मोबाइल उपकरणों के हमले के साथ ... इन उपकरणों में से कुछ के लिए C अभी भी सबसे अच्छा विकल्प क्यों है, अर्थात, कोई अन्य क्यों नहीं है उस स्तर की भाषा में, जैसे .NET-vs-Python-esque?
जेसन

5
लिस्प। सुलग रही है पर भूली नहीं! :)

2
@ जेसन: प्रश्न यह है कि आपको कितने पोर्टेबल असेंबलर की आवश्यकता है? सी अच्छी तरह से जाना जाता है और एक भाषा को तेज कार्यान्वयन के साथ लिखना बहुत कठिन है, इसलिए परेशान क्यों हो? सूट-स्पीक में, कोई आवश्यकता नहीं, कोई बाजार नहीं, कोई प्रेरणा नहीं।

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

1
-1 के लिए "और उस पर सुधार करने के लिए शायद ही कोई जगह है" - प्रदर्शन को प्रभावित किए बिना C / C ++ पर सुधार करने के लिए बहुत जगह है।
ब्लूराजा - डैनी पफ्लुगुएट

21

फोर्ट्रान संख्यात्मक कार्यों के लिए सी की तुलना में तेज है क्योंकि यह स्मृति संदर्भों को संभालता है (सी पॉइंटर्स को अनुकूलित करना अधिक कठिन है)। मटलब और नेम्पी जैसी चीजों के आधार पर हेवीवेट न्यूमेरिक लाइब्रेरी अभी भी फोरट्रान में लिखी गई हैं।

दूसरी ओर, C ++, C के समान ही तेज़ हो सकती है, लेकिन इसमें कई और उन्नत प्रोग्रामिंग सुविधाएँ हैं। यह 80 के दशक के मध्य से बहुत नई भाषा है।


1
और C ++ अभी भी अपडेट किया जा रहा है।
GManNickG

5
@ मन: तो सी।


3
अगर मैं गलत हूं तो मुझे सुधारो, लेकिन C99 restrictपॉइंटर में एक ही अलियासिंग शब्दार्थ नहीं है फोरट्रान? और क्या है जो कोई फर्क पड़ता है?

9
मुझे लगता है कि फोर्ट्रान सी की तुलना में तेज़ है, कुछ हद तक मिथक है, जो इस बात पर निर्भर करता है कि कोडित क्या है और यह कौन कर रहा है। फोर्ट्रान में हेवीवेट न्यूमेरिक लाइब्रेरियां होने का कारण यह नहीं है कि फोरट्रान तेज है, बल्कि इसलिए कि रूटीन को मूल रूप से फोरट्रान में कोडित किया गया था और कुछ लोगों को इसे लिखने की आवश्यकता होती है। इन एल्गोरिदमों को लिखने और पशु चिकित्सक बनाने वाले गणित-गुरुओं की कम संख्या फोरट्रान में खुश है और उन्हें बदलने की कोई आवश्यकता नहीं है, खासकर जब से उन्हें लगता है कि फोरट्रान तेज है।
माइक डनलैवी

16

क्या बिल्ली, मैं अपने $ 0.02 के साथ झंकार करूँगा।

कई उदाहरणों में "सिस्टम" भाषाओं और उच्च स्तरीय भाषाओं के बीच एक वास्तविक या कथित अंतर है। मैं सबसे "उच्च स्तरीय" भाषाओं की उपेक्षा करूँगा, क्योंकि कोई भी (कम से कम नहीं) कई तर्क देगा कि कई कार्यों के लिए, पायथन, रूबी, आदि जैसी भाषाओं में काम करना सरल है।

C को एक सिस्टम भाषा के रूप में डिज़ाइन किया गया था, जिसका अर्थ है कि यह उस भाषा के रूप में डिज़ाइन किया गया था जिसमें Unix ऑपरेटिंग सिस्टम लिखा गया था। इस प्रकार, इसे सरल, शक्तिशाली और तेज़ बनाने के लिए डिज़ाइन किया गया था। एक सरल भाषा लाभ शक्ति का अर्थ है कि गैर-सिस्टम-प्रोग्रामर अक्सर खतरनाक मानते हैं: संकेत, मैनुअल मेमोरी प्रबंधन, जैसा कि पहले ही उल्लेख किया गया है, सी काफी सरल है। K & R मेरे प्रोग्रामिंग शेल्फ पर अब तक की सबसे छोटी किताब है (O'Reilly Pocket References की गिनती नहीं) और यह मेरे Ruby Pocket Reference की तुलना में केवल "बड़ी" है। सी काफी शक्तिशाली है। यदि आपको हार्डवेयर से बात करने की आवश्यकता है, तो मैन्युअल रूप से जांच करें और मेमोरी के साथ घुमाएं, आदि में सी क्षमता है।

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

कुछ मामलों में, विशेष रूप से जब वर्तमान "मानक" सी के रूप में "पर्याप्त रूप से अच्छा" होता है, तो बस कुछ "बेहतर" (सी ++, ऑब्जेक्टिव-सी, डी आदि) के लिए प्रोत्साहन का बहुत अधिक नहीं होता है, जब वहाँ कर्षण प्राप्त होता है। कुछ "बेहतर" बनाने के लिए भी पर्याप्त प्रोत्साहन है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.