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

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

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

कुछ दिनों के बाद, बीटा संस्करण तैयार हो गया था, साइट बनाई गई थी, दस्तावेज लिखा गया था, आइकन, इंस्टॉलर - यह सब एक सामान्य परियोजना के लिए आवश्यक है।
पहले पायलटिंग के दौरान, 10 से अधिक सुधार किए गए थे। उनमें से सबसे दिलचस्प "लाठी" का समर्थन है। जैसा कि यह मार्कोव सामान्य एल्गोरिदम में निकला था, संख्या को सबसे आसानी से लाठी के रूप में दर्शाया जाता है: ||| = 3, ||| = 4. हर बार उन्हें पढ़ने की आवश्यकता से बचने के लिए, हमने छोटी संख्याएँ जोड़ी हैं जो आपके लिए ऐसा करती हैं।

दिलचस्प समाधान
विकास के दौरान, हम कुछ दिलचस्प समाधान लेकर आए। उनमें से कुछ:- हम ब्राउज़र में ऑफ़लाइन दस्तावेज़ बनाने में कामयाब रहे, जो स्वचालित रूप से अपने ऑनलाइन संस्करण पर स्विच हो जाता है (जिसे ऑफ़लाइन के विपरीत अपडेट किया जा सकता है), अगर किसी व्यक्ति के पास इंटरनेट कनेक्शन है। उन्होंने इसे बहुत सरलता से किया - उन्होंने एक जावास्क्रिप्ट फ़ाइल शामिल की जो सर्वर पर निहित है और ऑनलाइन संस्करण पर पुनर्निर्देशित करता है। कोई इंटरनेट नहीं, कोई फ़ाइल नहीं, कोई संक्रमण नहीं - ऑफ़लाइन दस्तावेज़ खुलता है।
- एक सुविधाजनक पोर्टेबल संस्करण जो लॉन्च के बाद स्वचालित रूप से .yad फ़ाइल के साथ जुड़ जाता है, जिसके बाद यह इंस्टॉलर के माध्यम से स्थापित एक से अलग नहीं होता है।
परिणाम
परियोजना ने 10 दिन, 4 के साथ आने और प्रलेखन, 3 को कार्यक्रम और दूसरे 2 दिनों में सुधार, प्रलेखन, वेबसाइट पर लिखने के लिए खर्च किया।अब हर कोई GitHub से पंजीकरण और एसएमएस के बिना डाउनलोड कर सकता है (अब तक केवल विंडोज के लिए), साथ ही साथ जो कोई भी स्रोत के साथ भी इकट्ठा करना चाहता है।
हम तीनों ने इस परियोजना को पूरा किया: डायनासी , युरग्री और मैं।
एक निष्कर्ष के बजाय
एल्गोरिदम के बिना मार्कोव एल्गोरिदम के बारे में एक लेख गंभीर नहीं है, यहां एक छोटा प्रोग्राम है जो बाइनरी संख्याओं को दशमलव प्रणाली ("स्टिक्स") में परिवर्तित करता है।//Alphabet T = {|, 0, 1} I = {0, 1} //Rules |0 -> 0|| 1->0| 0->$
PS और शिक्षक को परियोजना पसंद नहीं थी, क्योंकि कोई डेटाबेस नहीं था, लेकिन यह भी एक अलग कहानी है।
मुझे यकीन नहीं है कि अगर लेख विज्ञापन के बारे में हेब्रा के नियमों का उल्लंघन करता है। यदि हां, तो कृपया मुझे सूचित करें या I PR में स्थानांतरित करें।