توسعه دهنده نرم افزار https://salmana.ir
زبان برنامه نویسی V ؟
از این پس مطالبم رو در سایت خودم هم منتشر می کنم. خوشحال می شم اونجا رو هم ببینید. https://salmana.ir
داشتم در گیت هاب قدم می زدم که به ریپوزیتوری زبان v برخورد کردم. با خودم گفتم چه آدمای بیکاری که نشستن و با این همه زبان برنامه نویسی یه زبان دیگه درست کردند.
پس مقداری در موردش مطالعه کردم تا ببینم واقعا طراحش چه مزیتی رو در این زبان قرار داده که باقی زبان ها ارائه ندادند. این کامپایلر تحت مجوز MIT به صورت متن باز منتشر شده.
این زبان در مراحل توسعه اولیه قرار داره و هنوز خیلی از امکانات در اون پیاده نشده. ولی برای امتحان تو این ایام قرنطینه بد نیست.
در این مسیر می تونید دانلود و مطالعه کنید : https://vlang.io
به طور خلاصه هدف از طراحی این کامپایلر جمع آوری مزایای زبان های go، rust، c و ... بیان شده است.
سر خط امکانات مورد ادعای این کامپایلر به این شرح هست:
۱- شیب ملایم یادگیری. ظرف نیم ساعت می شه با این زبان آشنا شد.
۲- کد ساده، خوانا و با قابلیت نگهداری مناسب.
۳- قابل استفاده در طیف وسیعی از زمینه ها مثل برنامه نویسی سیستم، توسعه وب، توسعه بازی، واسط کاربری، موبایل، علم داده، سیستم های تعبیه شده و ...
۴- سرعت قابل رقابت با C، سریال سازی توکار، کامپایل به باینری های نیتیو بدون وجود هر نوع وابستگی.
۵- امکان پیاده سازی یک وب سرور ساده با حجم فقط ۶۵ کیلوبایت
۶- سرعت کامپایل سریع. بین ۱۰۰ هزار تا ۱.۲ میلیو خط کد در هر ثانیه با هر هسته سی پی یو
۷- کد امن بدلیل نداشتن هیچمقدار (null)، نداشتن متغیرهای سراسری، نداشتن مقادیر تعریف نشده (undefined) و ...
۸- پیاده سازی شده با زبان go در نسخه های قبلی و نسخه فعلی قابل کامپایل باخود V
۹- حجم بسیار کم کامپایلر (کمتر از ۲ مگابایت)
۱۰- امکان ترجمه کد C به V بوسیله V و سرعت کامپایل ۱۰ تا ۲۵ برابر سریعتر (مثلا بازی DOOM از C به V تبدیل شد و کامپایل آن فقط 0.7 ثانیه طول می کشد)
۱۱- امکان هات ریلود: به محض تغییر در کد می توان خروجی آن را بدون نیاز به کامپایل مجدد مشاده کرد.
۱۲- کتابخانه های گرافیکی قدرتمند: کتابخانه های طراحی مبتنی بر GDI+/Cocoa و OpenGL بدون وابستگی به سکوی خاص
۱۳- کتابخانه واسط کاربری مستقل از سکو
۱۴- امکان گرفتن خروجی برای سیستم عامل دیگر از یک سیستم عامل. مثلا خروجی لینوکس در محیط کاری ویندوز و برعکس
۱۵- فریمورک وب توکار قدرتمند
۱۶- وجود ORM توکار
۱۷- مدیریت حافظه بدون استفاده از Garbage Collection در هنگام کامپایل (مشابه rust)
۱۸- وجود package manager با امکان استفاده آسان
۱۹- قراره همزمانی با روشی مشابه go پیاده بشه. (هنوز پیاده سازی نشده)
20- عدم استفاده از LLVM و پیاده سازی کامل کامپایلر از پایه
فعلا خودم روی ویندوز ریختم و دارم تست می کنم. سینتکس ساده ای داره ولی خوب متاسفانه اسپانسر زیادی نداره. باید دید آیا محکوم به فناست یا می تونه بین این همه کامپایلر موفق دوام بیاره.
مطلبی دیگر از این انتشارات
برنامه نویسی GUI در Bash
مطلبی دیگر از این انتشارات
آموزش و تمرین ارتباط با سرور
مطلبی دیگر از این انتشارات
اشنایی با باگ Sql Injection و نفوذ و هک وب سایت توسط ابزار Sqlmap در کالی لینوکس