• طبقه بندی مقالات
    • زبان های برنامه نویسی "وب اسمبلی" و "لونا" بازیگران جدید عرصه برنامه نویسی
      زبان های برنامه نویسی "وب اسمبلی" و "لونا" بازیگران جدید عرصه برنامه نویسی


      زبان برنامه‌نویسی WebAssembly
      در طول سالیان اخیر، JavaScript به عنوان زبان مورد علاقه‌ی برنامه‌نویسان در حوزه وب و به منظور ایجاد کاربرپسندی و تعامل‌پذیری بالاتر در صفحات وب مورد استفاده قرار گرفته است. زبان برنامه‌نویسی JavaScript در واقع یک زبان سطح بالا، محبوب، پویا و به واقع زبان اسکریپت‌نویسی است که برای طراحی صفحات وب و بازی‌های آنلاین تعاملی استفاده می‌شود. نحوه‌ی نگارش این زبان برنامه‌نویسی نیز بسیار به زبان برنامه‌نویسی C نزدیک است. از طریق JavaScript، برنامه‌نویسان می‌توانند یک پیام را روی صفحه به صورت Pop-up نمایش داده، با کلیک روی یک دکمه مجموعه‌ عکس‌هایی را ورق زده و به عناصر موجود در صفحه حرکت یا پویایی ببخشند. همچنین JavaScript در طول سال‌های اخیر به عنوان بنیان ایجاد Node.js نیز مورد استفاده قرار گرفت که یک فناوری سمت سرور بوده و به صورت مختصر می‌تواند ارتباطات بلادرنگ را در فضای وب ایجاد نماید.
      در طرف دیگر، WebAssembly برای کار کردن و به اصطلاح کامپایل کردن صفحات وب از C و C++ استفاده می‌کند و به نظر مهم‌ترین رحجان این زبان نسبت به JavaScript در واقع سرعت آن باشد که به همین دلیل نیز Firefox این زبان را به عنوان زبان سمت کلاینت مورد علاقه‌ی خود برای توسعه نرم‌افزارهای کاربردی Native و افزونه‌های مرورگر خود انتخاب کرده است.
      مطابق با آنچه پیشروان استفاده از این فناوری بیان کرده‌اند، WebAssembly برنامه‌نویسان را قادر خواهد ساخت تا نرم‌افزارهای تحت وب با عملکرد بسیار بالا همچونComputer-Aided Design یا به اختصار CAD و بازیهای ویدئویی، نرم‌افزارهای ویرایش فیلم یا تولید انیمیشن و حتی قابلیت تولید فضاهای سه بعدی را در فضای وب فراهم کنند و احتمالاً بزودی بسیاری از نر‌م‌افزارهای کاربردی موجود در فضای وب (همچون ایمیل، شبکه‌های اجتماعی، پردازش متن و غیره) از WebAssembly برای کاهش چشم‌گیر بارگذاری صفحات و سرعت نرم‌افزارهای تحت وب خود استفاده خواهند کرد.
      جدول زیر نتایج مقایسه‌ی سرعت پردازش انمیشین توسط زبان‌ WebAssembly و JavaScript را نشان می‌دهد که توسط یکی از برنامه‌نویسان فعال در این حوزه منتشر شده است. نتایج اجرای 15 شخصیت انیمیشنی با جزئیات بسیار بالا که با زبان جاوااسکریپت و وب اسمبلی پیاده‌سازی شدند، حاکی از آن بود که پیاده‌سازی با زبان وب اسمبلی منجر به بهبود چشم‌گیر زمان متوسط اجرای انیمیشن‌ها در مقایسه با پیاده‌سازی همین انیمیشین‌ با زبان جاوااسکریپت خواهد شد، به نحوی که در مرورگر کروم و بر بستر سیستم عامل ویندوز و با زبان برنامه‌نویسی وب اسمبلی، شاهد بهبود 14.5 برابری زمان متوسط اجرای انیمیشن در مقایسه با زبان جاوااسکریپت خواهیم بود. به همین ترتیب در مرورگر کروم و بر بستر سیستم عامل لینوکس (ابونتو) نیز بهبود 8.6 برابری زمان متوسط اجرای انیمیشین مشاهده گردید و این آزمون بر بستر سیستم‌ عامل اندروید و مرورگر فایرفاکس نیز تقریباً بصورت مشابه تکرار گردید. لازم بذکر است که به نظر وب اسمبلی به عنوان جایگزین جاوااسکریپت معرفی نشده و این دو زبان می‌توانند مکمل‌های بسیار خوبی برای یکدیگر باشند به نحوی که از وب اسمبلی برای پردازش‌های سنگین در بستر وب استفاده خواهد شد.


      قابلیت قابل توجه دیگر این زبان برنامه‌نویسی نیز آن است که می‌توان برنامه‌هایی که به زبان C یا C++ نوشته شده بودند را در بستر وب نیز مورد استفاده قرار داده و عملکردی مشابه Native را در فضای وب با این برنامه‌ها ایجاد نمود. البته همانطور که توسط تیم توسعه دهنده‌ی این زبان نیز بیان شده است، بزودی علاوه بر C و C++، قابلیت استفاده از زبان‌های برنامه‌نویسی دیگر همچون Java، Swift و C# نیز فراهم خواهد شد.
      البته لازم بذکر است که زبان JavaScript نیز می‌تواند بسیار سریع باشد و همه‌چیز به نحوه‌ی نگارش و کدنویسی برنامه‌نویس‌ها برمی‌گردد. برای مثال LucidChart یا LucidPress بصورت کامل با زبان برنامه‌نویسی JavaScript نوشته شده‌اند ولی عملکرد بسیار سریع و بالایی در فضای وب دارند.
      در نتیجه می‌توان به این صورت بیان نمود که WebAssembly لزوماً زبان مناسبی برای بهبود چشم‌گیر سرعت برنامه‌هایی که در حال حاضر نوشته‌ شده‌اند نمی‌باشد، منتهی می‌تواند برای پیاده‌سازی ماژول‌هایی که نیاز به پردازش بسیار سریع در فضای وب دارند، مورد استفاده قرار گیرد.


      زبان برنامه نویسی Luna
      توسعه‌دهندگان زبان برنامه‌نویسی Luna بیان می‌کنند که توسعه‌ دهندگان نرم‌افزارهای کاربردی، عموماً در ابتدا به طراحی دستی و پیاده‌سازی مؤلفه‌ها و وابستگی‌های آن‌ها با استفاده از ابزاری همچون UML اقدام کرده و سپس به پیاده‌سازی آن منطق (که بعضاً روی تخته، روی کاغذ و یا هر ابزار دستی دیگری کشیده شده است) صرفاً در قالب کد‌های طولانی اهتمام می ورزند که عموماً در چندین صفحه، چندین پوشه و در قالب چندین ماژول نوشته شده‌اند. به همین دلیل Luna توسعه داده شد که هم شامل نمایش متنی (کدهای مرسوم برنامه‌نویسی) و هم نمایش بصری از ارتباطات و مؤلفه‌های کدهای نوشته شده توسط برنامه‌نویسان باشد. در واقع منطق اصلی Luna به این صورت می باشد که ما نمیتوانیم دیاگرام‌هایی که ساعت‌ها روی آن وقت گذشته‌ایم را اجرا نموده و همان را به کد تبدیل کنیم. در واقع Luna به برنامه‌نویسان اجازه می‌دهد که در حین حفظ عادت‌های مرسوم خود در برنامه‌نویسی همچون استفاده از زبان مدلسازی یکنواخت، کلاس دیاگرام‌ها و در نهایت پیاده‌سازی کد در محیط برنامه‌نویسی صرفاً متنی یا textual، از یک واسط گرافیکی و بصری نیز در کنار محیط متنی مرسوم استفاده کنند.
      در واقع نمایش بصری ساختار برنامه‌، نه تنها جریان‌کار تولید نرم‌افزارها را بطور کلی بازتعریف می‌کند، بلکه زمان توسعه‌ی نرم‌افزار را نیز به شدت کاهش می‌دهد. علاوه بر این، برنامه‌نویسان می‌توانند در حین کد زدن و مشاهده‌ی نمایش بصری، تحلیل‌های جزئی از میزان مصرف حافظه، CPU و داده‌های عملکردی دیگر را بصورت بلادرنگ دریافت کنند. همچنین Luna زبان برنامه‌نویسی مختصر و در عین حال جامعی دارد که به آسانی خوانده و نوشته می‌شود منتهی در حال حاضر محدودیتی در استفاده از زبان‌های برنامه‌نویسی دیگری همچون JavaScript، C++, Python نیز ندارد.


      کلمات کلیدی

      شورای عالی فضای مجازی ، مرکز ملی فضای مجازی ، زبان های برنامه نویسی ، وب اسمبلی ، لونا ، Web Assembly ، Luna ، برنامه نویسی ، JavaScript ، اسکریپت‌نویسی ،

      منبع اصلی مقاله


      منبع درج


      منابع


      نظر کاربران
      نام:
      پست الکترونیک:
      شرح نظر:
      کد امنیتی: