क्या D जावा और C ++ का विश्वसनीय विकल्प है? [बन्द है]


163

क्या D भाषा जावा और C ++ का विश्वसनीय विकल्प है? एक विश्वसनीय विकल्प बनने में क्या लगेगा? क्या मुझे इसे सीखने में परेशान करना चाहिए? क्या यह प्रचार करने लायक है?

मेरा मुख्य कारण यह है कि नए C ++ मानक (c ++ 0x) के साथ लगभग यहाँ, यह मेरे लिए स्पष्ट है कि भाषा कभी भी किसी को भी समझने के संबंध में कोई वापसी नहीं हुई है। मुझे पता है कि C / C ++ कभी नहीं मरेगा लेकिन कुछ बिंदु पर हमें आगे बढ़ना होगा। यहां तक ​​कि COBOL का भी दिन था और जावा कई मामलों में C ++ से पीछे है। अब अगला क्या होगा? क्या डी बिल भरता है?


23
COBOL वापस आ रहा है, लेकिन आगे बढ़ो और डी सीखो अगर यह आपके फैंस को गुदगुदी करता है। चाय की पत्तियों को पढ़ना द नेक्स्ट बिग लैंग्वेज की भविष्यवाणी करने के समान ही एक शॉट के रूप में है।
शोग

5
मैं इस बात से चिंतित नहीं हूं कि अगली बड़ी भाषा क्या है, मैं इस बात से ज्यादा चिंतित हूं कि अगर मैं अपने अधिक नियोक्ता को बताऊं कि मैं अपने अगले प्रोजेक्ट पर डी का उपयोग करना चाहता हूं तो मुझे गंभीरता से नहीं लिया जाएगा क्योंकि भाषा isn ' अभी तक।
मार्क केगेल सेप

22
यह ध्यान दिया जाना चाहिए कि डिजिटल मार्स के "डी बनाम सी ++" पृष्ठ सी ++ के खिलाफ अत्यधिक भेदभाव कर रहे हैं। कई बार वे कहते हैं कि "सी ++ यह नहीं कर सकता", सी ++ यह कर सकता है
जोहान्स स्काहब -

23
@ जोहान्स: यह इस बारे में नहीं है कि भाषा क्या संभव बनाती है, यह वही है जो भाषा आसान बनाती है। - ब्रायन हर्ट
लापताफैक्टर

9
@ राहुल, सहमत हैं लेकिन तब उन्हें ऐसा कहना चाहिए। जैसे "यह C ++ में करना आसान नहीं है" और ऐसा नहीं है कि यह संभव नहीं है।
जोहान्स स्काउब -

जवाबों:


130

वास्तविक दुनिया सॉफ्टवेयर विकास के लिए एक प्रोग्रामिंग भाषा की सफलता और लोकप्रियता का निर्धारण केवल आंशिक रूप से भाषा की गुणवत्ता से संबंधित है। एक शुद्ध भाषा के रूप में, D के पास C ++ और Java पर यकीनन कई फायदे हैं। बहुत कम से कम यह शुद्ध भाषा के रूप में एक विश्वसनीय विकल्प है, अन्य सभी चीजें समान हैं।

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

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

यदि आप हर तरह से डी को देखते हैं, तो इसे सीखें - यदि आपको पहले से ही जावा और सी ++ पता है, तो यह लंबा नहीं होना चाहिए। मुझे नहीं लगता कि इंजीलवाद मददगार होगा - इस बिंदु पर यदि डी सफल हो रहा है, तो वास्तव में इसे और अधिक लोगों को चुपचाप इसका उपयोग करने और मानक पुस्तकालय और आईडीई समर्थन जैसी प्रमुख कमियों को संबोधित करने की आवश्यकता है।

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


8
यह कहते हुए कि "किसी भी आधुनिक आईडीई में कोई समर्थन नहीं है" यह थोड़ा अधिक है। ग्रहण में समर्थन है। यह अभी तक 1st क्लास नहीं है, लेकिन यह वहाँ है और बेहतर हो रहा है।
BCS

46
अभावों का अभाव अनुपस्थिति का प्रमाण नहीं है।
FeepingCreature

29
यदि कोई सकारात्मक दावा करता है जैसे कि 'गुलाबी गेंडा' हैं, तो किसी को स्वीकार करने से पहले सबूत पेश करना चाहिए। दी गई, इसका मतलब यह नहीं है कि @FeepingCreature के अनुसार कोई गुलाबी गेंडा नहीं है, लेकिन केवल यह कहना कि यह सम्मोहक या वैध तर्क नहीं है।
जोश 12

8
@Finging: यह एक सुंदर कहावत है कि जेम्स रैंडी को फेंकना पसंद है, लेकिन यह केवल सच नहीं है। यह आपके परीक्षणों का उचित प्रमाण है कि परीक्षण में कुछ पाया जाना चाहिए , लेकिन यह अनुपस्थिति का सबूत नहीं है।
GMANNICKG

9
मैं जोड़ना चाहता हूं कि हम डी 1 और टैंगो के साथ बड़े पैमाने पर एप्लिकेशन बनाते हैं। ठीक है, हम क्रॉस-प्लेटफ़ॉर्म नहीं हैं, लेकिन केवल लिनक्स हैं, लेकिन फिर भी। हमारी पूरी अवसंरचना डी में लिखी गई है और हम प्रति घंटे 30k से अधिक अनुरोधों को संसाधित करते हैं, जिसमें एक बड़ा DHT बैक-एंड भी लिखा है
Marenz

109

मिश्रण में अपने अनुभव जोड़ने के लिए:

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

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

हालांकि, निम्नलिखित बिंदुओं ने हमारे जीवन को और अधिक कठिन बना दिया है:

  1. उस समय कोई अच्छी आईडीई नहीं थी जो एक प्रमुख मुद्दा था। हमने Scite को कस्टमाइज़ करके अपना खुद का बनाना शुरू किया। यह ठीक काम किया, लेकिन आदर्श नहीं था।
  2. उस समय कोई डिबगर नहीं था। हम WINDBG को हिट-या-मिस के आधार पर काम करने में कामयाब रहे, लेकिन यह अविश्वसनीय था। एक डिबगर के बिना डिबगिंग कोड ने कई बार जीवन को नारकीय बना दिया।
  3. उस समय (टैंगो और फोबोस) से चुनने के लिए 2 मानक पुस्तकालय थे। हमने एक के साथ शुरू किया, दूसरे पर स्विच किया, और वास्तव में दोनों (टैंगोबोस!) से सुविधाओं के मिश्रण की आवश्यकता थी। इससे सिरदर्द और कुछ कोड फिर से लिखने लगे।
  4. अन्य साधनों के लिए बाइंडिंग उपलब्ध नहीं है। अंत में हमें DirectX पर स्विच करना पड़ा (कारणों से मैं इसमें नहीं जाऊँगा)। DirectX के लिए कोई बाइंडिंग उपलब्ध नहीं थी इसलिए हमें C ++ में अपना स्वयं का लिखना था, इसे .dll के रूप में बनाना था और उस पर बाँधना था। यह काफी गंदा काम था और इसमें कुछ समय लगा।

कुल मिलाकर, हम डी लिखना पसंद करते थे। यह वास्तव में कोड लिखना आसान बनाता था और सीखने के लिए जल्दी था। जिन मुद्दों का मैंने उल्लेख किया है, वह इस प्रश्न के लिए स्वीकार किए गए उत्तर को प्रतिध्वनित करता है - यह "अतिरिक्त" बिट्स हैं जिन्हें डी में संबोधित करने की आवश्यकता है, इसका मूल ठोस है।


4
शांत इनपुट ... अब एक डिबगर है !! :)
bbqchickenrobot

14
मुझे समझ नहीं आ रहा है कि DirectX एक समस्या क्यों है। मैं एक डी प्रोग्रामर नहीं हूं, लेकिन मुझे लगा कि डी सी को समझ सकता है? और DirectX में C API है?

देशी डी इंटरफेस के साथ डायरेक्टएक्स सामान का उपयोग करना आसान है, इसलिए कुछ विशेष मामलों को छोड़कर सी ++ में एक आवरण लिखना आवश्यक नहीं है
क्वोंक्स

@Quonux: यह उस समय हमारा अनुभव था, 08 में वापस। तब से कोई संदेह नहीं है कि चीजें बहुत आगे बढ़ गई हैं। मैं किसी भी अधिक विवरण विवरण याद नहीं कर सकते।
xan

1
2019 अपडेट: डी प्रोग्रामिंग लैंग्वेज का काफी विस्तार हुआ है। अब आप Dlang के साथ GDB आउट-ऑफ-द-बॉक्स का उपयोग कर सकते हैं। DPP चलो आप सीधे Dlang में किसी भी C हैडर को शामिल करते हैं। Calypso चलो आप Ql-- सहित Dlang में किसी भी C ++ पुस्तकालय का उपयोग करते हैं, इसमें कुछ कीड़े हैं, लेकिन यह काफी हद तक काम करता है।
no --zɐɹƆ

60

मैं इस बात से सहमत हूं कि C ++ एक मृत-अंत भाषा बन रही है - और यह मुझे पिछले 17 वर्षों से इसे इस्तेमाल करने के बाद कहने के लिए दया आती है।

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

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

मुझे लगता है कि आंद्रेई अलेक्जेंड्रेस्कु की भागीदारी में, अंतर बड़े पैमाने पर होने वाला है। यह किसी भी तरह से वाल्टर ब्राइट को बदनाम करने के लिए नहीं है, जिसने दुनिया में डी लाने में एक महत्वपूर्ण काम किया है। लेकिन अलेक्जेंड्रेस्क्यू एक महत्वपूर्ण और सम्मोहक है, निश्चित रूप से C ++ समुदाय में यह आंकड़ा है - और वहाँ है जहाँ से अधिकांश संभावित D स्विचर आने वाले हैं। और उन्होंने कार्यात्मक प्रोग्रामिंग के समर्थन में D2.0 के लिए एक महत्वपूर्ण और महत्वपूर्ण योगदान दिया है।

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


20
सी सिस्टम लेवल प्रोग्रामिंग के लिए गिरावट पर नहीं है। लिनक्स, विंडोज, और ओएस एक्स सभी सी में विकसित किए गए हैं। इसी तरह, माइक्रो-कंट्रोलर के लिए कई माइक्रो-कंट्रोलर और ओएस को सी का उपयोग करके प्रोग्राम किया जाता है
केविन

12
मुझे नहीं लगता कि D "सभी सही काम करता है"। सही बात यह है कि खरोंच से शुरू किया जाए, बेहतर सी ++ बनाने की कोशिश न करें। मुझे लगता है कि C ++ से बड़े पैमाने पर स्विच को सही ठहराने के लिए अधिक कट्टरपंथी परिवर्तनों की आवश्यकता है।
जलफ

9
केविन: विंडोज और ओएस एक्स को विकसित नहीं किया गया है। कर्नेल के सी। निश्चित रूप से हैं, लेकिन विंडोज सी ++ और ओएस एक्स ओब्ज-सी के ढेर का उपयोग करता है। लिनक्स एकमात्र ऐसा ओएस है जिसे मैं जानता हूं कि सी को वन ट्रू लैंग्वेज-स्टेटस में कैसे उतारा गया है और कुछ भी उपयोग नहीं किया गया है।
जलफ

16
अच्छी भविष्यवाणी। इस पोस्ट को 2 साल हो चुके हैं, और D मुख्यधारा को अपनाने के करीब नहीं है।
मिकेरबी

18
@ मइकोबी लोल! जब भी आप उस वाक्य को पढ़ते हैं, तो दो साल शुरू हो जाते हैं ;-)
फ़िस्क्लेयर किया गया

20

मुझे पसंद है कि डी एक जीनियस का काम है, मुख्य रूप से एक दिमाग - वाल्टर ब्राइट, जिसका ज़ॉर्टेक कंपाइलर अपने दिन में शानदार था।

इसके विपरीत C ++ समिति द्वारा बहुत अधिक डिजाइन है, भले ही बज़्ने एक प्रभाव है। बहुत सारे ऐड-ऑन फीचर्स और अजीब नए सिंटेक्स। यह अंतर सीखने में आसानी और रोजमर्रा के उपयोग में आसानी, कम बग को दर्शाता है।

अधिक सुसंगत भाषाएं बेहतर उत्पादकता और प्रोग्रामर आनंद की ओर ले जाती हैं - लेकिन यह व्यक्तिपरक और तर्कपूर्ण है! (मुझे लगता है कि मुझे अपना जवाब नीचे देना चाहिए)


9
इस पर अब एक और प्रतिभा काम कर रही है - आंद्रेई अलेक्जेंड्रेस्कु। उन्होंने D2.0 के साथ जो किया है, वह IMHO है, कम से कम आश्चर्यजनक है कि वाल्टर ने D1.x के साथ क्या किया है। उन दोनों के बीच (कई अन्य योगदानकर्ताओं को छूट नहीं) डी के साथ एक भाषा हो रही है। इस स्थान को देखें
philsquared

5
उस 3 (या अधिक) अच्छे अच्छे प्रोग्रामर बनाएं: बार्टोज़ मिल्वाइस्की
बीसीएस

7
तो सी ++ मूल रूप से एक वास्तव में स्मार्ट आदमी द्वारा बनाया गया था, और अब वास्तव में स्मार्ट लोगों की एक समिति द्वारा नियंत्रित किया जाता है, जबकि डी मूल रूप से एक वास्तव में स्मार्ट आदमी द्वारा बनाया गया था, और अब वास्तव में स्मार्ट लोगों के एक समूह द्वारा नियंत्रित किया जा रहा है। हाँ, मैं देख रहा हूँ कि कैसे डी बेहतर बनाता है। ;) (संकेत: सी ++ की बदसूरती का समितियों से कोई लेना-देना नहीं है। यह भाषा के डिजाइन लक्ष्यों का परिणाम है। इसका उद्देश्य था (लगभग) सी। डी का सबसेट नहीं है, और ऐसा करने का इरादा नहीं था। , जिसका अर्थ है कि यह मौसा के बहुत से बचने के लिए (यह भी लाया लोकप्रियता से बचने की कीमत पर)
जल्फ

4
@jalf आप सही कह रहे हैं कि C ++ की "कुरूपता" समिति द्वारा डिज़ाइन किए जाने के कारण नहीं है। यह विकास में सुस्ती है, यद्यपि।
philsquared

15

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

मैं यह देखने के लिए डी तुलना चार्ट को देखने की सलाह दूंगा कि भाषा के लिए क्या विशेषताएं हैं और देखें कि क्या यह आपके लिए सही लगता है।


10

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

  • डी बनाम सी ++, संगतता है, जहां विशाल सी ++ भाषाएं शामिल हैं और डी के साथ संगतता की आवश्यकता है। डी डी सी के साथ पहले से ही 100% संगतता की अनुमति देते हैं, जो अभी भी एक अच्छी जीत है।

  • डी बनाम सी ++, सी ++ मेरी राय बहुत अच्छी भाषा है, लेकिन कोड के लिए कठिन है, और समय लेने वाली, सफलता पाने के लिए अधिक से अधिक अनुभव की आवश्यकता होती है, लेकिन डी को सरलता के साथ ऐसा करने की अनुमति है

  • डी बनाम सी ++, मुझे यकीन नहीं है कि अगर सी ++ करता है, लेकिन डी "ऑटो" का उपयोग करते हुए किसी भी प्रकार के प्रतिबंध चर असाइनमेंट की अनुमति नहीं देता है, जो एक चर गतिशील होना अच्छा है, जब आपको एक सख्त प्रकार की आवश्यकता हो सकती है

  • डी बनाम सी ++, यदि आपके पास अन्य भाषा का अनुभव है, तो आप सीधे इसके साथ शुरू कर सकते हैं, इसमें आसान सीखने का रोड मैप है, और इसके एक मजबूत अनुभवी टीम और कंपनी के समर्थन से डिज़ाइन किया गया है

  • D vs C ++, D की बहुत अच्छी चीज़ जो मुझे मिली, वह कोड शैली है, यह C / C ++ की तरह ही लुक और फील देता है, जबकि कोडिंग यह याद दिलाता है कि मैं वास्तव में आधुनिक C / C ++ कर रहा हूँ जिसे D कहा जाता है

डी भाषा के बहुत अधिक अच्छे कारण हैं, किसी भी भाषा को कम आंकने का कोई कारण नहीं है, हमेशा उपयोगकर्ता की पसंद।


7

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

प्रोटोकॉल और अन्तरक्रियाशीलता (जो कई हैं) के संदर्भ में अधिक विशिष्ट समाधानों के लिए आपको आवश्यक पुस्तकालयों को खोजने में अधिक समस्याएं होंगी, और उपकरणों की कमी आपको अधिक प्रभावित करने की संभावना है।


1
क्या आप इस तरह के व्यावसायिक ऐप का उदाहरण दे सकते हैं?
अलेक्जेंडर मालाखोव

1
@ अलेक्जेंडर मालाखोव: ए ... हम्म ... अच्छा सवाल .... मुझे खुशी है कि आपने पूछा कि क्या कोई व्यावसायिक ऐप मौजूद है .... अच्छी तरह से सोचा गया सवाल ... निश्चित रूप से ..... मेरी प्रशंसा ... ... यह उसी तरह का प्रश्न है जो हमें पूछना चाहिए ..... आपकी बुद्धि को दर्शाता है ..... हम्म ... मुझे खोजने दीजिए ... डी में व्यावसायिक ऐप ... एचएमई ...। प्रतीक्षा करें ... मुझे पता है लेकिन .... बस इसे याद नहीं कर सकते ... वहाँ निश्चित रूप से कर रहे हैं .... बस पकड़ ... मैं अभी भी खोज रहा हूँ ... रुको!
सिंपल फेलो

7

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

आप यह देखा है?

"GNU डीबगर डी भाषा का समर्थन जोड़ता है": http://www.linux.com/news/enterprise/biz-enterprise/358956-gnu-debugger-adds-d-language-support

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

व्यक्तिगत रूप से मैं डी में एक बड़ी परियोजना करने के लिए इस बिंदु पर नहीं होगा, लेकिन मैं इन-हाउस टूल के लिए डी का उपयोग करेगा , इसके साथ अनुभव प्राप्त करना और दूसरों को इसे पेश करना।

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

अद्यतन: मुझे पता चला है कि आंद्रेई की पुस्तक का मेरा पसंदीदा अध्याय , जो संक्षिप्त नाम है, ऑनलाइन मुफ्त में उपलब्ध है। निश्चित रूप से पढ़ने लायक!

और यहां गो और डी के सापेक्ष गुणों / उद्देश्यों / दृष्टिकोणों के बारे में चर्चा की गई है


मैं जंग के बारे में ज्यादा नहीं जानता; मैं इसके 1.0 हिट होने का इंतजार कर रहा हूं। लेकिन आप सही हैं, यह निश्चित रूप से देखने लायक है और इसी स्थान पर खेलने के लिए प्रतीत होता है।
अमीगोनिको

1
केवल एक चीज जो मुझे डी के बारे में पसंद नहीं है वह है टाइप सिस्टम। यह पुराना लग रहा है। OO पदानुक्रम घुसपैठ हैं। मुझे यह एक शुरुआती बिंदु के रूप में पसंद नहीं है। इस पर जंग बेहतर है।
जर्मन डायगो

4

ऐसा लगता है कि प्रश्न का उत्तर दिया गया है। C ++ की तुलना में D बेहतर भाषा है।

व्यावहारिक उद्देश्यों के लिए डी के पास बेहतर बुनियादी ढांचा है या नहीं, यह सवाल गौण है।

संक्षेप में अगर वे दोनों बिल्कुल नई भाषाएं हैं जिनके चारों ओर बिना किसी सहारे के डी बेहतर भाषा है, तो यह बेहतर भाषा है।


4

एक भाषा के रूप में, मुझे हमेशा लगा कि D C C की तुलना में C # के करीब है। सुविधाओं और पुस्तकालयों में नहीं, बल्कि "भावना" में। यह बहुत साफ है, अच्छे ... मज़ा (सी ++ की तुलना में)। IMHO एक विश्वसनीय विकल्प बनने में सबसे बड़ी बाधा उपकरण, आईडीई और डीबगर है। यदि D व्यापक उपयोग / अपनाने की कुछ बाधाओं को पार कर जाता है, तो अधिक उपकरण और पुस्तकालय प्रकट होंगे। (मैं स्वयं D पर वापस लौटूंगा, यदि कोई उपयोगी IDE और डीबगर होगा।)


मोनो-डी प्लग-इन के बारे में क्या ?: मोनो- d.alexanderbothe.com
user1284631

3

मेरे अपने पालतू परियोजनाओं के लिए महान काम करता है। मैं इसका इस्तेमाल नियोक्ताओं की परियोजनाओं के लिए करूंगा, लेकिन यह जानने के लिए नहीं कि उनके लिए स्रोत को संभालने के बाद किसी को ढूंढना कितना कठिन होगा। इससे बचने के लिए कोई तकनीकी कारण नहीं हैं, कम से कम समर्थित प्लेटफार्मों पर। (लकड़ी पर दस्तक)


3

एक दृष्टिकोण अपने क्षेत्र में नौकरियों की तलाश करना है। उन नौकरियों को खोजें जिन्हें आप करना चाहते हैं और देखें कि वे कौन से कौशल पूछ रहे हैं। यदि वे सी ++ या रूबी या ओरेकल या डी के लिए पूछ रहे हैं, तो यह वह कौशल है जो ज्यादातर आपको मनचाही नौकरी पाने में मदद करता है।


3

यह बहुत अच्छी तरह से डिज़ाइन की गई भाषा की तरह दिखता है; C - C ++ - Objective C. की तुलना में बहुत बेहतर है। मैं कुछ समय के लिए IDE या डिबगर के बिना रह सकता हूं, लेकिन D 2.0 के लिए अच्छे, प्रलेखित पुस्तकालय के बिना नहीं।

मैं 6 महीने में वापस जाँच करूँगा ...

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