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