Luna: زبانی به اصطلاح WYSIWYG برای پردازش داده‌ها

Luna: زبانی به اصطلاح WYSIWYG برای پردازش داده‌ها

Luna یک زبان برنامه‌نویسی به اصطلاح WYSIWYG به منظور پردازش و ویژوالیزیشن (بصری‌سازی) داده‌ها است که از این اصل که دولوپرها باید خروجی آنچه در حال ساختش هستند را فوراً مشاهده کنند، پیروی می‌کند (WYSIWYG مخفف واژگان What You See Is What You Get است.) این زبان شامل یک لایبرری همیشه در حال رشد از کامپوننت‌های مختلفی بوده و همچنین یک فریمورک توسعه‌پذیر برای ساخت کامپوننت‌های جدید را برای دولوپرها فراهم می‌کند.

Luna بر این اساس که افراد نباید توسط ابزارهایی که استفاده می‌کنند محدود شوند، ساخته شده است به طوری که لونا اولین زبان برنامه‌نویسی فانکشنال برای کابرد‌های عمومی است که می‌تواند اطلاعات را هم به صورت متنی و هم به صورت بصری نمایش دهد. لونا حوزه‌هایی که تمرکز اصلیشان بر پردازش داده استوار است از جمله IoT ،Data Science Architecture ،Bioinformatics و Graphic Design را مورد هدف قرار داده است.

همهٔ کامپوننت‌های لونا، خود از کامپوننت‌های کوچک‌تری ساخته شده‌اند که این طراحی سلسله‌مراتبی موجب تسهیل تغییر سطح انتزاع می‌شود به طوری که برای مشاهده‌ٔ تغییر شکل داده‌ها از نمای بالاتر می‌توانید کوچک‌نمایی و برای مشاهده‌ٔ رفتار هر کامپوننت به صورت تکی می‌توانید بزرگ‌نمایی کنید.

قطعی‌ سرویس‌های شبکه یا خرابی داده‌ها اتفاقاتی روزمره هستند اما لونا می‌تواند به آنالیز این نوع مشکلات نیز کمک کند. هنگامی که یک خطا رخ می‌دهد، لونا مسیر آن را با استفاده از گراف نشان می‌دهد و از همین روی خیلی راحت می‌توانید آن را دنبال کنید و علت رخداد خطا را بیابید. علاوه بر این، لونا اطلاعات گسترده‌ای از عملکرد و مصرف حافظه را ثبت و ویژوالایز می‌کند که به شما این امکان را می‌دهد تا فقط با نگاه کردن به گراف، گلوگاه‌ها را کشف کنید.

در پایان لازم به ذکر است که لونا از آخرین نسخهٔ کامپایلر ران‌تایم  Glasgow زبان Haskell استفاده می‌کند که توانایی اجرای هزاران تِرِد را در کسری از ثانیه برایش فراهم می‌کند. علاوه بر این، لونا یک برنامه را پارتیشن‌بندی و اجرای آن را روی هسته‌های در دسترس CPU زمان‌بندی می‌کند.