Hacker News

मैले M&Ms सँग प्रोग्रामिङ भाषा बनाएको छु

टिप्पणीहरू

1 min read Via mufeedvh.com

Mewayz Team

Editorial Team

Hacker News

मिठो विचार: मैले भाषा निर्माण गर्न किन M&Ms प्रयोग गरें

यो मजाकको रूपमा सुरु भयो। M&Ms को कचौरा मेरो डेस्कमा बस्यो, रातो, पहेंलो, हरियो, नीलो र खैरोको जीवन्त मोज़ेक। म एउटा खाली स्क्रिनमा पनि हेरिरहेको थिएँ, काममा रहेको प्रोजेक्टको लागि एक साधारण डोमेन-विशिष्ट भाषा डिजाइन गर्ने काम। सामान्य उपकरणहरू - पाठ सम्पादकहरू, कम्पाइलरहरू, व्हाइटबोर्डहरू - बाँझ महसुस भयो। मलाई सिन्ट्याक्स र तर्क प्रवाह कल्पना गर्न एक मूर्त, चंचल तरिका चाहिन्छ। त्यसैबेला यसले मलाई हिट गर्यो: के हुन्छ यदि प्रत्येक रङले फरक आदेश प्रतिनिधित्व गर्दछ? M&Ms क्यान्डी मात्र थिएनन्; तिनीहरू मेरो टोकनहरू, मेरो अपकोडहरू, मेरो निर्माण ब्लकहरू थिए। अझ महत्त्वपूर्ण कुरा, यो प्रयोग मोडुलरिटी र भिजुअल कार्यप्रवाहका सिद्धान्तहरू परीक्षण गर्ने उत्तम तरिका थियो जुन मेरो टोलीले हाम्रो प्लेटफर्म, Mewayz प्रयोग गरेर च्याम्पियन बनाउँछ। हामी विश्वास गर्छौं कि जटिल प्रक्रियाहरूलाई सरल, जडानयोग्य एकाइहरूमा विभाजन गर्नु नै नवीनताको कुञ्जी हो।

सिन्ट्याक्स परिभाषित गर्दै: क्यान्डी-लेपित शब्दावली

पहिलो चरण मेरो चिनी प्रतीकहरूलाई अर्थ तोक्न थियो। मैले एक साधारण स्ट्याक-आधारित भाषामा निर्णय गरे, जहाँ अपरेशनहरू मानहरूको स्ट्याकमा गरिन्छ। मैले कागजको पानामा नियमहरू राखें, स्वादिष्ट सरल वाक्य रचना:

  • रातो M&M: नम्बर ५ लाई स्ट्याकमा पुश गर्नुहोस्।
  • पहेँलो M&M: स्ट्याकको शीर्ष मान POP।
  • हरियो M&M: स्ट्याकमा शीर्ष दुई मानहरू थप्नुहोस्।
  • नीलो M&M: स्ट्याकमा शीर्ष दुई मानहरू गुणा गर्नुहोस्।
  • ब्राउन M&M: स्ट्याकमा शीर्ष मान छाप्नुहोस्।

अचानक, M&Ms को एक लाइन खाजा मात्र थिएन; यो एक कार्यक्रम थियो। रातो, रातो, हरियो, ब्राउन जस्ता अनुक्रमको अर्थ हुन्छ: पुश 5, अर्को 5 पुश गर्नुहोस्, तिनीहरूलाई सँगै जोड्नुहोस् (नतिजा: 10), र परिणाम छाप्नुहोस्। यस ह्यान्ड्स-अन दृष्टिकोणले पार्स रूखको अमूर्त अवधारणालाई अविश्वसनीय रूपमा सहज बनायो। यो हामीले Mewayz मा सिर्जना गर्ने मोड्युलर ब्लकहरूको भौतिक अभिव्यक्ति थियो, जहाँ प्रत्येक ब्लकको एक विशिष्ट, राम्रो-परिभाषित प्रकार्य हुन्छ जसले ठूलो प्रक्रियामा योगदान गर्दछ।

कार्यक्रम कार्यान्वयन गर्दै: एक धेरै म्यानुअल कम्पाइलर

मेरो शब्दावली सेटको साथ, यो कार्यान्वयनको लागि समय थियो। म कम्पाइलर र रनटाइम वातावरण बनें। मैले M&Ms लाई डेस्कमा एक लाइनमा व्यवस्थित गरें - यो मेरो स्रोत कोड थियो। मैले त्यसपछि बायाँबाट दायाँबाट प्रोग्राम "पढ्छु", नियमहरू अनुसार संख्याहरूको स्ट्याक (स्टिकी नोटहरूमा लेखिएको) हेरफेर गर्दै। यो म्यानुअल प्रक्रिया प्रबुद्ध थियो। प्रत्येक चोटि मैले हरियो M&M (ADD कमाण्ड) मा हिर्काए, मैले स्ट्याकमा कम्तिमा दुईवटा मानहरू छन् भनेर सुनिश्चित गर्नुपर्थ्यो। त्रुटिहरू तत्काल र दृश्य थिए। यदि मैले एउटा मात्र नम्बर थप्ने प्रयास गरेमा, कार्यक्रम "क्र्यास" हुनेछ, जसले मलाई मेरो क्यान्डी-आधारित कोड डिबग गर्न बाध्य पार्छ।

M&Ms को भौतिकताले तर्कलाई मूर्त बनायो। तपाईको डेस्कमा खाली ठाउँले प्रतिनिधित्व गर्दा तपाईले छुटेको अपरेन्डलाई बेवास्ता गर्न सक्नुहुन्न। यसले मलाई पाठ्यपुस्तकको तुलनामा कम्पाइलर डिजाइनको बारेमा बढी सिकायो।

यो पुनरावृत्ति, ह्यान्ड्स-अन डिबगिङ निश्चित रूपमा हामीले Mewayz को लागि लक्ष्य राखेको स्पष्टता हो। व्यापार प्रक्रियाको प्रत्येक चरणलाई दृश्यात्मक र फरक बनाएर, हामी टोलीहरूलाई समान सहजताका बाधा र त्रुटिहरू पहिचान गर्न मद्दत गर्छौं।

द बिगर पिक्चर: क्यान्डी देखि कोड देखि मेवेज सम्म

यो विचित्र प्रयोग रमाइलो मात्र थिएन; यो एउटा मूल सिद्धान्तको शक्तिशाली रिमाइन्डर थियो जसले हामीलाई Mewayz मा ड्राइभ गर्छ: जटिलतालाई सरलता र जडान मार्फत राम्रोसँग व्यवस्थित गरिन्छ। जसरी मैले मुट्ठीभर रंगीन, पुन: प्रयोज्य एकाइहरूबाट कार्य गर्ने "भाषा" निर्माण गरें, त्यसरी नै व्यवसायहरूले हाम्रो मोड्युलर ब्लकहरूबाट शक्तिशाली अपरेटिङ सिस्टमहरू निर्माण गर्न सक्छन्। प्रत्येक M&M को एउटै काम थियो, र तिनीहरूलाई संयोजनले आकस्मिक, जटिल व्यवहार सिर्जना गर्यो।

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

प्रोजेक्टले देखाएको छ कि उत्कृष्ट प्रणालीहरू, चाहे प्रोग्रामिङ भाषा होस् वा व्यापार ओएस, साना, अन्तरसञ्चालनयोग्य भागहरूको आधारमा बनाइन्छ। Mewayz ले तपाइँको व्यवसायको अद्वितीय "M&Ms" लाई जडान गर्न प्लेटफर्म प्रदान गर्दछ - चाहे त्यो CRM मोड्युल होस्, परियोजना व्यवस्थापन उपकरण होस्, वा अनुकूलन एनालिटिक्स ब्लक होस् - एक सुसंगत, कुशल, र मिठो सफल सम्पूर्णमा। लक्ष्य अति जटिलता होइन; यो तपाईंलाई विकासको लागि आधारभूत निर्माण ब्लकहरू दिएर सरलीकरण गर्न हो।

बारम्बार सोधिने प्रश्नहरू

मिठो विचार: मैले भाषा निर्माण गर्न किन M&Ms प्रयोग गरें

यो मजाकको रूपमा सुरु भयो। M&Ms को कचौरा मेरो डेस्कमा बस्यो, रातो, पहेंलो, हरियो, नीलो र खैरोको जीवन्त मोज़ेक। म एउटा खाली स्क्रिनमा पनि हेरिरहेको थिएँ, काममा रहेको प्रोजेक्टको लागि एक साधारण डोमेन-विशिष्ट भाषा डिजाइन गर्ने काम। सामान्य उपकरणहरू - पाठ सम्पादकहरू, कम्पाइलरहरू, व्हाइटबोर्डहरू - बाँझ महसुस भयो। मलाई सिन्ट्याक्स र तर्क प्रवाह कल्पना गर्न एक मूर्त, चंचल तरिका चाहिन्छ। त्यसैबेला यसले मलाई हिट गर्यो: के हुन्छ यदि प्रत्येक रङले फरक आदेश प्रतिनिधित्व गर्दछ? M&Ms क्यान्डी मात्र थिएनन्; तिनीहरू मेरो टोकनहरू, मेरो अपकोडहरू, मेरो निर्माण ब्लकहरू थिए। अझ महत्त्वपूर्ण कुरा, यो प्रयोग मोडुलरिटी र भिजुअल कार्यप्रवाहका सिद्धान्तहरू परीक्षण गर्ने उत्तम तरिका थियो जुन मेरो टोलीले हाम्रो प्लेटफर्म, मेवेज प्रयोग गरेर च्याम्पियन गर्दछ। हामी विश्वास गर्छौं कि जटिल प्रक्रियाहरूलाई सरल, जडानयोग्य एकाइहरूमा विभाजन गर्नु नै नवीनताको कुञ्जी हो।

सिन्ट्याक्स परिभाषित गर्दै: क्यान्डी-लेपित शब्दावली

पहिलो चरण मेरो चिनी प्रतीकहरूलाई अर्थ तोक्न थियो। मैले एक साधारण स्ट्याक-आधारित भाषामा निर्णय गरे, जहाँ अपरेशनहरू मानहरूको स्ट्याकमा गरिन्छ। मैले कागजको पानामा नियमहरू राखें, स्वादिष्ट सरल वाक्य रचना:

कार्यक्रम कार्यान्वयन गर्दै: एक धेरै म्यानुअल कम्पाइलर

मेरो शब्दावली सेटको साथ, यो कार्यान्वयनको लागि समय थियो। म कम्पाइलर र रनटाइम वातावरण बनें। मैले M&Ms लाई डेस्कमा एक लाइनमा व्यवस्थित गरें - यो मेरो स्रोत कोड थियो। मैले त्यसपछि बायाँबाट दायाँबाट प्रोग्राम "पढ्छु", नियमहरू अनुसार संख्याहरूको स्ट्याक (स्टिकी नोटहरूमा लेखिएको) हेरफेर गर्दै। यो म्यानुअल प्रक्रिया प्रबुद्ध थियो। प्रत्येक चोटि मैले हरियो M&M (ADD कमाण्ड) मा हिर्काए, मैले स्ट्याकमा कम्तिमा दुईवटा मानहरू छन् भनेर सुनिश्चित गर्नुपर्थ्यो। त्रुटिहरू तत्काल र दृश्य थिए। यदि मैले एउटा मात्र नम्बर थप्ने प्रयास गरेमा, कार्यक्रम "क्र्यास" हुनेछ, जसले मलाई मेरो क्यान्डी-आधारित कोड डिबग गर्न बाध्य पार्छ।

द बिगर पिक्चर: क्यान्डी देखि कोड देखि मेवेज सम्म

यो विचित्र प्रयोग रमाइलो मात्र थिएन; यो मेवेजमा हामीलाई ड्राइभ गर्ने मूल सिद्धान्तको शक्तिशाली रिमाइन्डर थियो: जटिलता सरलता र जडानको माध्यमबाट राम्रोसँग व्यवस्थित गरिन्छ। जसरी मैले मुट्ठीभर रंगीन, पुन: प्रयोज्य एकाइहरूबाट कार्य गर्ने "भाषा" निर्माण गरें, त्यसरी नै व्यवसायहरूले हाम्रो मोड्युलर ब्लकहरूबाट शक्तिशाली अपरेटिङ सिस्टमहरू निर्माण गर्न सक्छन्। प्रत्येक M&M को एउटै काम थियो, र तिनीहरूलाई संयोजनले आकस्मिक, जटिल व्यवहार सिर्जना गर्यो।

तपाईंका सबै व्यापारिक उपकरणहरू एकै ठाउँमा

बहु एपहरू जुगल गर्न रोक्नुहोस्। Mewayz ले 208 उपकरणहरू मात्र $49/महिनामा जोड्दछ — सूचीबाट HR, बुकिङदेखि एनालिटिक्ससम्म। सुरु गर्न कुनै क्रेडिट कार्ड आवश्यक छैन।

Mewayaz नि:शुल्क प्रयास गर्नुहोस्

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime