Nim 1.2.0 dasturlash tilining chiqarilishi

Tanishtirdi tizim dasturlash tilini chiqarish Nim 1.2. Nim tili statik yozishdan foydalanadi va Paskal, C++, Python va Lisp tillarida ko'z bilan yaratilgan. Nim manba kodi C, C++ yoki JavaScript ko'rinishida tuzilgan. Keyinchalik, olingan C/C++ kodi har qanday mavjud kompilyator (clang, gcc, icc, Visual C++) yordamida bajariladigan faylga kompilyatsiya qilinadi, bu sizga C ga yaqin ishlashga erishish imkonini beradi, agar siz ishga tushirish xarajatlarini hisobga olmasangiz. axlat yig'uvchi. Python-ga o'xshab, Nim blok cheklovchi sifatida chekinishdan foydalanadi. Metadasturlash vositalari va domenga xos tillarni (DSL) yaratish imkoniyatlari qo'llab-quvvatlanadi. Loyiha kodi ta'minlangan MIT litsenziyasi ostida.

Yangi nashrdagi sezilarli o'zgarishlar quyidagilardan iborat:

  • Yangi axlat yig'uvchisi joriy etildi ARC (“-gc: arc”).
  • Modulda "shakar"Yangi makroslar qo'shildi, to'plash, nusxalash va olish.
  • "bilan" yangi makros qo'shildi.
  • Yangi qoʻngʻiroqlarning katta qismi standart kutubxonaga qoʻshilgan, jumladan strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapay. , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt va boshqalar.
  • Yangi std/stackframes va std/compilesettings modullari qo'shildi.
  • IndexError va OverflowError xatolaridan majburiy chiqish uchun “—asm” (hosil boʻlgan yigʻish kodini tahlil qilish uchun) va “—panics:on” opsiyalari kompilyatorga “sinab koʻring” ishlov beruvchisi tomonidan toʻsqinlik qilmasdan qoʻshilgan.
  • Mumkin bo'lgan bufer toshib ketishini aniqlash yaxshilandi.

Manba: opennet.ru

a Izoh qo'shish