2010-07-27 16 views
11

सी ++ अक्सर सी के विकास के रूप में चिंतित होता है, जो यह नहीं है। मैं भाषा की तरह के लिए एक सादृश्य आकर्षित करने के लिए की तलाश में हूँ:क्या सी के कोई विकल्प हैं?

  • पर्ल, पायथन, रूबी, ग्रूवी
  • सी ++, डी
  • जावा, सी #
  • सी, फोरट्रान, Modula-2 ?, पास्कल ?, जाओ ?, जंग?

जबकि, ओएस, उच्च प्रदर्शन करने के लिए सभी प्रयोज्यता को बनाए रखने एम्बेडेड और अन्य भूमिकाओं किसी भी प्रस्तावित है, या लागू किया भाषाओं, सी के रूप में ही (भारी) आला में फिट किया जा रहा है एक वैकल्पिक करने के इरादे से है?

+11

आप इन "विकास" के साथ कहां आए? – jtbandes

+5

आपके आधार का कम से कम हिस्सा दोषपूर्ण है। पाइथन पर्ल के विकास की तरह दूरस्थ रूप से कुछ भी नहीं रहा है। वास्तव में, यह पर्ल के रूप में लगभग पुराना है। –

+10

* जावा -> सी # *? वास्तव में? – detly

उत्तर

5

शायद Google का Go language होगा। कम से कम, मुझे उम्मीद है कि Google की गो टीम उम्मीद करेगी कि यह बन जाएगा।

+2

हाँ गो एक करीबी चीज है जो मैंने सी वंश के बारे में सुना है। एम्बेडेड स्पेस में इसकी भूमिका ही एकमात्र संदेह है। –

+2

मैं शायद ही कभी विश्वास कर सकता हूं कि स्वचालित मेमोरी प्रबंधन के साथ एक भाषा सी के साथ-साथ बैठ सकती है। असल में, मुझे विश्वास नहीं है। "साइड बाय साइड" से मेरा मतलब प्रदर्शन नहीं है।मेरा मतलब अर्थशास्त्र है। –

+0

यदि यह सफल होगा तो मुझे लगता है कि Google एम्बेडेड स्पेस में भी गो के लिए काफी अच्छी प्रगति दे सकता है। एआरएम पहले से ही है। – Incognito

5

निम्न चित्र अधिक कहेंगे की तुलना में मैं लिख सकते हैं:

picture

+3

2500 भाषाओं के साथ अधिक वर्तमान http://www.levenez.com/lang/ – stacker

+0

ध्यान दें सी के "वंशज" सी ++, सी # और ओब्जे-सी हैं। मेरे बाद की भाषा नहीं है। –

+0

@ मैट: आपने यह नहीं कहा है * आप * क्या कर रहे हैं। आपने जो कुछ कहा है वह है * "मुझे ऐसा कुछ चाहिए जो सी करता है लेकिन सी नहीं है।" * – dmckee

4

पास्कल एक बराबर होगा, इसलिए होगा Modula-2।

मोज़िला भी जंग नामक एक नई भाषा है, यह वास्तव में एक अच्छा आधुनिक भाषा के रूप में C/C++

https://www.rust-lang.org/

+0

हां, ये एक ही प्रतिमान पर स्पॉट लगते हैं। –

3

सी एक से अधिक आला है, वास्तव में आवेदनों की एक ही प्रकार पर लक्षित है है । निम्न-स्तरीय सिस्टम प्रोग्रामिंग के लिए, सी ने प्लेटफ़ॉर्म-विशिष्ट असेंबली भाषाओं को प्रतिस्थापित किया है, और उस डोमेन में कुछ भी वास्तव में चुनौती नहीं दी गई है। सी ++ एकमात्र अन्य संभावित उम्मीदवार होगा, वहां (बीओएस, कई डिवाइस ड्राइवर, इत्यादि)।

सी उच्च प्रदर्शन संख्यात्मक कोड के लिए भी बहुत उपयोग किया गया था। उस डोमेन में, फ़ोरट्रान के पास अभी भी बढ़त है, और कई अन्य चुनौतीपूर्ण (सी ++, मैटलैब, नम्पी, किले, स्कैला) हैं।

कुछ स्तर पर, सी सबसे कम आम संप्रदाय है जिसमें क्रॉस-प्लेटफ़ॉर्म पोर्टेबिलिटी है।

6

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

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

+0

मुझे पहले से ही यह पता है। जाओ सी विकल्प के रूप में वादा कर रहा है। –

+1

असल में, हमने * बैठे और विशेष रूप से सी को बदलने के लिए एक भाषा तैयार की। मुझे विश्वास है कि ऐसे लोग हैं जो एक ही इरादे से डिजाइन किए गए हैं। हमारा मॉड्यूल -2 का एक संशोधन है, जो सी प्रतिस्थापन के लिए आदर्श आधार है, अन्य ने स्वयं सी के साथ शुरुआत की है। लेकिन हाँ, लोगों को एहसास है कि सी समस्या का एक प्रमुख हिस्सा है और इसे बदलने की आवश्यकता होगी। गतिशील कचरा भाषाओं को इकट्ठा नहीं करते हैं, लेकिन कुछ ऐसा जो किसी भी चीज को बदल सकता है जो सी या सिस्टम सी कार्यान्वयन के लिए करता है, आदर्श प्रकारफेफ। – trijezdci

+0

"कोई भी भाषा सब कुछ नहीं कर सकती ..." मैं इससे सहमत नहीं हो सकता। जहां तक ​​कंप्यूटर का संबंध है, मेरे सर्वोत्तम ज्ञान के लिए, आप असेंबली, सी, या सी ++ के साथ सबकुछ कर सकते हैं। – Andrew

संबंधित मुद्दे