فلسفه و اهداف Wave
Wave به دنبال تکمیل محدودیتهای زبانهای سطح پایین است و هدف آن ایجاد اکوسیستمی یکپارچه است که توسعه در حوزههای متنوع با یک زبان واحد امکانپذیر میسازد.
Wave به جای تقسیمبندی حوزههای مختلفی چون توسعه وب، سیستمهای عامل، هوش مصنوعی، بلاکچین، کنترل سختافزار، کامپایلر، شبکهسازی و رمزنگاری به زبانهای متفاوت، میخواهد همه این حوزهها را در یک زبان و یک سیستم ابزار به طور طبیعی متصل کند.
Wave عمومیت را به سادگی به معنای "قابل استفاده در بسیاری از جاها" نمیداند. هدف این است که نیازهای عملکردی، کنترل و ثبات را در هر حوزه به طور همزمان برآورده کند و برای این کار، یک طراحی و قواعد واضح و منسجم را در سطح زبان حفظ میکند.
به ویژه، Wave به گونهای طراحی شده است که توسعهدهندگانی که دانش عمیق از سختافزار ندارند نیز بتوانند از قابلیتهای سختافزاری استفاده کنند. کتابخانههای استاندارد سختافزار مفاهیم پیچیده سختافزار را انتزاعسازی کرده و کمک میکنند تا به صورت شهودی استفاده شوند.
در عین حال، Wave دسترسی سطح پایین برای کنترل مستقیم سختافزار نیز در صورت نیاز ارائه میدهد. این امکان را به توسعهدهندگان میدهد که به آزادی بین رابطهای انتزاعی و کنترل مستقیم جابجا شوند و در عین حال که عملکرد را قربانی نمیکنند، پیچیدگی کد را به حداقل برسانند.
در نهایت، Wave به دنبال محیطی یکپارچه است که با استفاده از یک زبان، تنوعی از وظایف را پردازش کند و عملکرد کارآمد و تجربه توسعه یکدست را ارائه دهد.
عملکرد و کارایی
Wave زبانی است که با پیشفرض داشتن عملکرد بالا طراحی شده است. کامپایلر و مدل اجرایی هدفشان تولید کد بهینه است و برای حفظ عملکرد پایدار در پلتفرمهای مختلف پیکربندی شدهاند.
هدف این است که با استفاده از یک زبان، از حوزههای سطح بالا مانند برنامههای وب گرفته تا حوزههای حیاتی عملکرد مانند سیستمهای عامل و نرمافزار های سیستمی، ویژگیهای عملکردی یکدستی ارائه دهد.
ایمنی و مدیریت خطا
Wave برنامهنویسی ایمن را به عنوان یک معیار مهم طراحی در نظر میگیرد. به گونه ای طراحی شده است که حداکثر خطاهای ممکن را در مرحله زمان کامپایل شناسایی کرده و مشکلات احتمالی در زمان اجرا را به حداقل برساند.
در حالی که ایمنی حافظه و نوع را به عنوان ایمنیهای پایه تضمین میکند، هدف این است که این تضمین را بدون قربانی کردن عملکرد به اجرا درآورد. Wave امنیت و عملکرد را مفاهیمی متضاد نمیداند، بلکه به عنوان عناصری میبیند که از طریق طراحی زبان میتوان بهطور همزمان به آنها دست یافت.
ارتقاء بهرهوری توسعهدهنده
Wave با نگارشی شهودی و سازگار طراحی شده است تا توسعهدهندگان بتوانند زبان را به سرعت بیاموزند و به طور موثر استفاده کنند.
علاوه بر این، با کتابخانههای استاندارد گس ترده و سیستم ابزار (مانند Vex و WSON)، به توسعهدهندگان کمک میکند تا بدون پیادهسازی مجدد وظایف پیچیده، آنها را حل کنند. این امکان را به توسعهدهندگان میدهد تا به جای تمرکز روی پیکربندی محیط یا کدهای تکراری، روی حل مسئله تمرکز کنند.
استقلال پلتفرم
Wave زبانی است که متکی به سیستمعامل خاص یا محیط خاصی نیست. به گونهای طراحی شده است که یک کد یکسان در سیستمعاملهای مختلف به طور همسان عمل کند و توسعهدهندگان بتوانند کدی که یک بار نوشتهاند را در محیطهای مختلف استفاده مجدد کنند.
این استقلال پلتفرمی یکی از عناصر پایهای است که باعث میشود Wave به عنوان یک زبان عمومی عمل کند.
اجتماع و قابلیت توسعه
Wave زبانی است که با همکاری جامعه متنباز رشد میکند. کاربران و توسعهدهندگان میتوانند بهطور آزادانه در گسترش و بهبود قابلیتهای Wave شرکت کنند و این فرآیند نیز فرآیندی است که جهتگیری و دقت زبان را با هم شکل میدهد.
Wave بر اساس تصور سفارشیسازی و گسترش طراحی شده است تا زبان و اکوسیستم را بهطور مناسب برای حوزهها یا نیازهای خاص بهشیوهای انعطافپذیر مورد استفاده قرار دهد.
اهداف آیندهنگر
Wave زبانی است که محدود به محیط فناوری فعلی نیست و هدف آن این است که بتواند جریانهای فناوری جدیدی را که در آینده ظهور خواهند کرد، بپذیرد.
قصد داریم زبان و سیستم ابزار را با نگاه به فناوریهای آیندهای مانند هوش مصنوعی، سیستمهای توزیع شده و محاسبات کوانتومی به طور پیوسته گسترش دهیم. این جهتگیری پایهای است برای این که Wave به عنوان زبانی که به طور بلندمدت قابل توسعه است، و نه ابزاری کوتاهمدت، تثبیت شود.