نسخه جدید زبان برنامه نویسی Nim 0.20

صورت گرفت انتشار زبان برنامه نویسی سیستم Nim 0.20.0. این زبان از تایپ ایستا استفاده می کند و با در نظر گرفتن پاسکال، سی پلاس پلاس، پایتون و لیسپ ساخته شده است. کد منبع Nim در یک نمایش C، C++ یا جاوا اسکریپت کامپایل می شود. متعاقباً، کد C/C++ حاصل با استفاده از هر کامپایلر موجود (clang، gcc، icc، Visual C++) در یک فایل اجرایی کامپایل می‌شود که به شما امکان می‌دهد در صورت عدم توجه به هزینه اجرا، عملکردی نزدیک به C داشته باشید. زباله جمع کن مشابه پایتون، Nim از تورفتگی به عنوان جداکننده بلوک استفاده می کند. ابزارها و قابلیت‌های فرابرنامه‌نویسی برای ایجاد زبان‌های خاص دامنه (DSL) پشتیبانی می‌شوند. کد پروژه عرضه شده تحت مجوز MIT

انتشار Nim 0.20 را می توان به عنوان یک نامزد انتشار برای اولین نسخه پایدار 1.0 مشاهده کرد، از جمله چندین تغییر سازگار با شکستن لازم برای تشکیل اولین شاخه پایدار که وضعیت زبان را متعهد می شود. نسخه 1.0 به عنوان یک نسخه پشتیبانی پایدار و طولانی مدت تبلیغ می شود که تضمین می شود سازگاری با عقب را در بخش تثبیت شده زبان حفظ کند. به طور جداگانه، یک حالت آزمایشی نیز در کامپایلر موجود خواهد بود که در آن ویژگی‌های جدیدی که ممکن است سازگاری با عقب را از بین ببرند، توسعه خواهند یافت.

از تغییرات ارائه شده در Nim 0.20، می توان به موارد زیر اشاره کرد:

  • "نه" اکنون همیشه یک عملگر یکنواخت است، یعنی. عباراتی مانند "اظهار (نه a)" اکنون نامعتبر هستند و فقط "اظهار نه a" مجاز است.
  • بررسی های سخت برای تبدیل اعداد صحیح و اعداد واقعی در زمان کامپایل فعال هستند، به عنوان مثال. عبارت "const b = uint16(-1)" اکنون منجر به خطا می شود، زیرا -1 را نمی توان به یک نوع عدد صحیح بدون علامت تبدیل کرد.
  • باز کردن تاپل ها برای ثابت ها و متغیرهای حلقه ارائه شده است.
    به عنوان مثال، تکالیفی مانند 'const (d, e) = (7, "eight")' و "for (x, y) در f" اکنون می توانند استفاده شوند.

  • مقداردهی اولیه پیش فرض هش ها و جداول ارائه شده است. به عنوان مثال، پس از اعلام "var s: HashSet[int]"، می توانید بلافاصله "s.incl(5)" را اجرا کنید، که قبلاً منجر به خطا می شد.
  • بهبود محتوای اطلاعاتی خطاها برای مشکلات مربوط به عملگر "مورد" و فهرست آرایه خارج از محدوده.
  • تغییر طول جدول در طول تکرار ممنوع است.

منبع: opennet.ru

اضافه کردن نظر