मुझे नहीं लगता कि आप एक नई भाषा बनाए बिना कार्यक्रम कर सकते हैं, इसलिए यह महसूस करना अच्छा है कि आप क्या कर रहे हैं और मुद्दों को समझ रहे हैं।
- भाषा क्या है?
शब्दावली, वाक्यविन्यास, और शब्दार्थ।
एक ऑफ-द-शेल्फ भाषा जैसे VB, Java, C #, आदि केवल एक आधार भाषा है। जैसे ही आप इसमें वर्गों, विधियों आदि को जोड़ते हैं, आपने शब्दावली और शब्दार्थ जोड़ दिए हैं। भाषाओं को लागू करने के कई तरीके हैं - एक मौजूदा भाषा के शीर्ष पर पार्सिंग और अनुवाद करना, पार्स करना और व्याख्या करना, मैक्रोज़ एक मौजूदा भाषा में कक्षाएं और विधियाँ जोड़ना।
- आप एक भाषा क्या करना चाहते हैं?
समस्याओं को स्पष्ट रूप से व्यक्त करने के लिए अच्छा हो।
यदि आप यह कर चुके हैं तो आप कैसे जानते हैं? मेरे द्वारा उपयोग किया जाने वाला उपाय संपादित गणना है । यदि एक-वाक्य की आवश्यकता A आती है, तो मैं कोड में आवश्यकता को लागू करने के लिए आगे बढ़ता हूं। जब मैं कर चुका होता हूं और सभी कीड़े निकल जाते हैं, तो मैं कोड में जांच करता हूं, और कोड रिपॉजिटरी मुझे मेरे द्वारा किए गए परिवर्तनों की एक सूची देता है, बी छोटा बी है, भाषा बेहतर है। वास्तविक और संभव आवश्यकताओं के स्थान से अधिक प्रभावित, यह उपाय मुझे बताता है कि भाषा "डोमेन विशिष्ट" कैसे है।
- सुघड़ता अच्छी क्यों है?
क्योंकि यह बग को कम करता है।
यदि यह 1 आवश्यकता को लागू करने के लिए एन कोड में परिवर्तन करता है, और आप कभी-कभी गलतियाँ करते हैं, तो आपके द्वारा लागू किए जाने वाले बगों की संख्या एन के लिए लगभग आनुपातिक होती है। उस सीमा में जहां एन = 1, बग की कोशिश किए बिना बग को पेश करना लगभग असंभव है।
ध्यान दें कि यह आजकल "कोड ब्लोट" के लिए एक सीधी चुनौती है जिसे हम देखते हैं।
जोड़ा गया: उदाहरण के लिए आपके अनुरोध के जवाब में, अंतर निष्पादन को देखें । मैं यह नहीं कहूंगा कि इसे जल्दी समझा जा सकता है, लेकिन यह यूआई कोड को काफी कम करता है।