Nim 1.4.0 dasturlash tilining chiqarilishi

Nim tizimlari dasturlash tilining yangi versiyasi joriy yilning sentyabr oyida o'zining bir yilligini nishonlash bilan chiqdi. birinchi barqaror versiyaTil sintaksis bo'yicha Python tiliga o'xshaydi va ishlashda deyarli C++ ga o'xshaydi. Ga binoan FAQ Til (hissa qilish tartibida) katta miqdorda qarz oladi: Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


C/C++/Objective-C/JS-ga kompilyatsiya qilish qobiliyati tufayli hamma joyda ishlaydi. Qo'llab-quvvatlaydi makroslar, OOP, jenerikler, istisnolar, issiq kod almashinuvi va yana ko'p narsalar. Litsenziya: MIT.

Eng muhim o'zgarishlar:

  • Yangi axlat yig'uvchi ORC qo'shildi. U ARC algoritmidan foydalanadi, lekin aylanma murojaatlarni maxsus usulda boshqaradi. Uni --gc:orc opsiyasi bilan yoqish mumkin. ARC/ORC farqlari Ajoyib maqola bor.

  • Ob'ektning o'zgaruvchanligini qo'shimcha tekshirish imkonini beruvchi qat'iy funksiya ta'riflari rejimi qo'shildi. {.experimental: "strictFuncs".} pragmasi yoki --experimental:strictFuncs tugmasi orqali yoqilgan.

  • From kalit so'zidan endi operator sifatida foydalanish mumkin.

  • .noalias pragmasi qo'shildi. U ushbu kalit so'zni taqdim etishi mumkin bo'lgan samaradorlikni oshirish uchun C cheklangan kalit so'ziga mos keladi.

  • Maxsus ogohlantirishlar endi --warningAsError[X]:on|off orqali xatolarga aylantirilishi mumkin.

  • Yangi buyruq: nim r main.nim [args…], u main.nim-ni kompilyatsiya qiladi va ishga tushiradi va --usenimcache-ni o'z ichiga oladi, shunda natija $nimcache/main$exeExt-da saqlanadi, manbalar o'zgarmaganida qayta kompilyatsiya qilishni oldini olish uchun nim c -r bilan bir xil mantiqdan foydalanadi. Misol:

nim r compiler/nim.nim --help # birinchi marta tuzilgan
echo 'import os; echo getCurrentCompilerExe()' | nim r — # bu ham ishlaydi
nim r compiler/nim.nim --fullhelp # qayta kompilyatsiya qilmasdan
nim r --nimcache:/tmp main # ikkilik fayl /tmp/main-ga saqlanadi

  • Yangi maslahat qo'shildi, hint:msgOrigin, kompilyator xato/ogohlantirish xabarlarini qayerda yaratganini ko'rsatadi. Bu xabarning kelib chiqishi aniq bo'lmaganda foydalidir.

  • Backendni o'zgartirish uchun bayroq qo'shildi --backend:js|c|cpp|objc (yoki -b:js va boshqalar).

  • Ikkilik fayllarni nimcachega chiqarish uchun --usenimcache bayrog'i qo'shildi.

  • O'chirilgan kalitlar: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Nimsuggest yordam dasturi endi nafaqat oldinga siljish deklaratsiyasini, balki def so'rovi uchun amalga oshirish joyini ham ko'rsatadi.

Bundan tashqari, standart kutubxonaga ko'plab o'zgarishlar kiritildi va ko'plab xatolar tuzatildi.

Manba: linux.org.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster