من یک زبان برنامه نویسی با M&Ms ساختم
نظرات
Mewayz Team
Editorial Team
ایده شیرین: چرا از M&Ms برای ساختن زبان استفاده کردم
به عنوان یک شوخی شروع شد. کاسه ای از M&Ms روی میز من نشسته بود، موزاییکی پر جنب و جوش از قرمز، زرد، سبز، آبی و قهوه ای. من همچنین به یک صفحه خالی خیره شده بودم که وظیفه طراحی یک زبان ساده مختص دامنه را برای یک پروژه در محل کار داشتم. ابزارهای معمول - ویرایشگرهای متن، کامپایلرها، تختههای سفید - عقیم هستند. من به یک روش ملموس و بازیگوش برای تجسم سینتکس و جریان منطق نیاز داشتم. در آن زمان بود که به من برخورد کرد: اگر هر رنگ یک فرمان متفاوت را نشان دهد چه؟ M&M ها فقط آب نبات نبودند. آنها توکن های من، کدهای عملیاتی من، بلوک های سازنده من بودند. مهمتر از آن، این آزمایش راهی عالی برای آزمایش اصول مدولار بودن و گردش کار بصری بود که تیم من با استفاده از پلتفرم ما، Mewayz قهرمان میشود. ما معتقدیم که تقسیم فرآیندهای پیچیده به واحدهای ساده و قابل اتصال، کلید نوآوری است.
تعریف نحو: واژگانی با پوشش آب نبات
اولین قدم این بود که به نمادهای قندی من معنا بدهم. من در مورد یک زبان ساده مبتنی بر پشته تصمیم گرفتم، که در آن عملیات روی پشته ای از مقادیر انجام می شود. من قوانین را روی یک ورق کاغذ گذاشتم و یک نحو ساده و خوشمزه ایجاد کردم:
- M&M قرمز: عدد 5 را روی پشته فشار دهید.
- M&M زرد: مقدار بالای پشته را POP کنید.
- M&M سبز: دو مقدار بالای پشته را اضافه کنید.
- M&M آبی: دو مقدار بالای پشته را چند برابر کنید.
- M&M قهوه ای: مقدار بالای پشته را چاپ کنید.
ناگهان، یک سری از M&Ms فقط یک میان وعده نبود. یک برنامه بود دنباله ای مانند قرمز، قرمز، سبز، قهوه ای به این معنی است: 5 را فشار دهید، 5 دیگر را فشار دهید، آنها را با هم جمع کنید (نتیجه: 10) و نتیجه را چاپ کنید. این رویکرد عملی، مفهوم انتزاعی درخت تجزیه را به طرز باورنکردنی شهودی کرد. این یک تجلی فیزیکی از بلوکهای مدولار بود که ما در Mewayz ایجاد میکنیم، جایی که هر بلوک دارای یک عملکرد خاص و کاملاً تعریف شده است که به فرآیند بزرگتری کمک میکند.
اجرای برنامه: یک کامپایلر بسیار دستی
با مجموعه واژگان من، زمان اجرا فرا رسیده بود. من تبدیل به محیط کامپایلر و زمان اجرا شدم. من M&M را در یک خط روی میز مرتب کردم - این کد منبع من بود. سپس برنامه را از چپ به راست "خواندم"، با دستکاری دسته ای از اعداد (نوشته شده بر روی یادداشت های چسبنده) طبق قوانین. این روند دستی روشنگر بود. هر بار که یک M&M سبز (فرمان ADD) را زدم، باید مطمئن می شدم که پشته حداقل دو مقدار دارد. خطاها فوری و بصری بودند. اگر بخواهم فقط با یک عدد اضافه کنم، برنامه "خراش" می شود و من را مجبور می کند کد مبتنی بر آب نبات خود را اشکال زدایی کنم.
فیزیکی بودن M&M ها منطق را ملموس کرد. زمانی که یک عملوند گم شده با فضای خالی روی میز شما نمایش داده می شود، نمی توانید نادیده بگیرید. این کتاب در مورد طراحی کامپایلر بیشتر از یک کتاب درسی به من آموخت.
این اشکالزدایی تکراری و عملی دقیقاً همان وضوحی است که ما با 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، یک ابزار مدیریت پروژه، یا یک بلوک تجزیه و تحلیل سفارشی - به یک مجموعه منسجم، کارآمد و بسیار موفق فراهم می کند. هدف پیچیده کردن بیش از حد نیست. با دادن بلوک های اساسی برای رشد به شما ساده می شود.