मैंने डी के साथ कुछ दिन बिताए ताकि यह देखने के लिए कि यह सी ++ और जावा से कैसे तुलना करता है। यह सी ++ करता है, वही चीजों को प्राप्त करने के लिए एक और तरीका के रूप में स्थित है, लेकिन सभी अपरिभाषित व्यवहार के बिना, और एक कचरा कलेक्टर, foreach पाश, और कुछ अन्य आधुनिक niceties के अलावा। यह देशी कोड में संकलित करता है ताकि आप इस परिदृश्य से होने वाली सभी सामान्य अनुकूलन तक पहुंच प्राप्त कर सकें।
संपूर्ण सी भाषा को निचले स्तर के बिल्डिंग ब्लॉक के रूप में डी के उप-समूह के रूप में encapsulated है, जिसमें से अधिकांश भाषा का निर्माण किया जाता है। यह पोर्टेबिलिटी के साथ मदद कर सकता है, लेकिन डी को एकल संगत पद्धति में विकसित होने से रोकता है।
किसी भी सी समारोह मूल रूप से चलाने के लिए डी संभावना के दायरे को खोलता सिस्टम प्रोग्रामिंग शामिल करने की क्षमता - ऑपरेटिंग सिस्टम, ड्राइवरों, आदि
डी में दो आमतौर पर इस्तेमाल किया वर्ग चौखटे हैं डिफ़ॉल्ट फोबोस है , जो डिज़ाइन में स्पार्टन और सरल है, जो आपको आवश्यक संरचनाएं बनाने की इजाजत देता है, लेकिन कुछ बड़े या जटिल बिल्डिंग ब्लॉक प्रदान करता है। दूसरा Tango है, जो जावा क्लास लाइब्रेरी की याद दिलाता है और इसमें एक और अधिक पूर्ण ढांचा शामिल है। दो पुस्तकालयों की अंतःक्रियाशीलता की अनुमति देने के लिए एक परियोजना भी है।
मेरे अनुभव में, डी कोडिंग के लिए काफी अच्छी भाषा है, सी # और जावा के साथ बहुत आम है, और सी और यहां तक कि असेंबली इंटरऑप के माध्यम से कच्चे मशीनरी तक पहुंच की इजाजत देता है। मुख्य सीमा जो मैं देखता हूं वह अच्छे विकास उपकरण समर्थन की कमी है। वहां कुछ आईडीई और प्लगइन्स हैं, लेकिन कुछ भी पूर्ण नहीं है, इसलिए आप एक टेक्स्ट एडिटर और कमांड लाइन बिल्ड टूल के साथ बेहतर हो सकते हैं।
भाषा, डी 1 और डी 2 के दो संस्करण हैं। डी 1 अब फ्रेमवर्क और कंपाइलर्स द्वारा बेहतर समर्थित है, और डी 2 ने कुछ सुविधा सुविधाओं को जोड़ा है जो भाषा को सुलझाने और उपयोग करने में आसान बनाती हैं।
अद्यतन (जून 2009): मैं हाल ही में डी में फिर से देख किया गया है और सोचा था कि मैं DSource, जो अब अलग संकलक परियोजनाओं की एक संख्या है की ओर ध्यान आकर्षित करना चाहिए, और टेंगो पुस्तकालय के घर, विभिन्न है बाइंडिंग, कई जीयूआई टूलकिट, और कुछ आईडीई। कुछ परियोजनाओं को उनके बचपन में छोड़ दिया गया था, लेकिन मेरा मानना है कि आज बहुत मजबूत हैं और अच्छी प्रगति कर रहे हैं। इस स्तर पर, ऐसा लगता है कि डी की सफलता ओपन सोर्स आंदोलन द्वारा अपने प्रजनकों द्वारा कहीं अधिक निर्धारित की जाएगी।
अद्यतन (फरवरी 2012) जबकि मैं अपने अंतिम संपादन के बाद से विकास पर ज्यादा देखा नहीं किया है, मैं नोट करेंगे कि डी 2 अब बाहर है, एक महान किताब, The D Programming Language के समर्थन के साथ। अलेक्जेंड्रेस्कू के विशिष्ट, यह टेम्पलेट सिस्टम की बहुत सारी जानकारी का खुलासा करता है, जिसमें टेम्पलेट बाधाएं शामिल हैं, जो डी को वर्तमान स्थिति C++ की तुलना में अधिक अभिव्यक्तिपूर्ण और टाइप-सुरक्षित टूल बनाती है।
पुस्तक पढ़ने के अलावा, 200 9 से डी भाषा या उसके उपकरण और समुदाय के साथ मेरा कोई संपर्क नहीं था इसलिए मैं उनकी परिपक्वता या तिथि पर विकास पर टिप्पणी नहीं कर सकता।मुझे पेशेवर प्रोग्रामर के एक छोटे से कैडर के बारे में पता है, जो चाहते हैं कि उन्हें काम पर भाषा का उपयोग करने की इजाजत दी जाए, लेकिन हम में से अधिकांश आम तौर पर उन क्षेत्रों में सी ++ और अन्य लोकप्रिय भाषाओं से फंस जाते हैं जहां डी सबसे अच्छा होना चाहिए।
यह सीखने लायक है में है क्योंकि यह कुछ अच्छा सुविधा है लेकिन असली दुनिया ऐप्स लिखने के लिए निवेश करने लायक नहीं है क्योंकि टूलींग और लाइब्रेरी बकवास है। यह सिर्फ उन चीजों के साथ अच्छी तरह से व्यवस्थित और बहुत अधिक सूक्ष्म मुद्दों का आयोजन नहीं करता है जो एक से अधिक समय बर्बाद करते हैं। कोई व्यवसाय नहीं चाहता है। मुझे लगता है कि कई लोग अवचेतन रूप से समझ सकते हैं कि यह कीड़े का एक कर है। यह 10k के लिए एक पोर्च ऑनलाइन खरीदने जैसा है जो अद्भुत लग रहा है और बहुत अच्छा चलता है ... लेकिन जब आप इसे एक महीने तक ड्राइव करते हैं तो आप चीजों को सही ढंग से नहीं चल रहे हैं ... फिर, आखिरकार चीजें अलग हो रही हैं। – Stretto
मुझे लगता है कि डी के लिए सबसे अच्छा उपयोग कुछ उच्च स्तरीय एल्गोरिदम और उपकरण करना है जो बड़े या अंतःस्थापित नहीं हैं, फिर उन भाषाओं का उपयोग करें। इस तरह से कोई डी में कम खर्च करता है लेकिन इसकी शक्तिशाली सुविधाओं का अधिक लाभप्रद उपयोग कर सकता है। दुर्भाग्यवश यह और अन्य भाषाओं के बीच इंटरऑप की वजह से यह मुश्किल है (आप सी ++ के बजाय सी में लिखना समाप्त कर देंगे क्योंकि टेम्पलेट्स दोनों के बीच अनुवाद नहीं करते हैं ... हालांकि संभवतया कोई उस रैपर के साथ उस पर काबू पा सकता है जो अच्छी तरह से काम करता है)। – Stretto