ภาษาโปรแกรม Nim รีลีส 1.2.0

แนะนำ การเปิดตัวภาษาโปรแกรมระบบ นิม 1.2. ภาษา Nim ใช้การพิมพ์แบบคงที่และสร้างขึ้นโดยคำนึงถึง Pascal, C++, Python และ Lisp ซอร์สโค้ด Nim ได้รับการคอมไพล์เป็นการแสดง C, C++ หรือ JavaScript ต่อจากนั้น รหัส C/C++ ที่ได้จะถูกคอมไพล์เป็นไฟล์ปฏิบัติการโดยใช้คอมไพเลอร์ที่มีอยู่ (clang, gcc, icc, Visual C++) ซึ่งช่วยให้คุณได้รับประสิทธิภาพที่ใกล้เคียงกับ C หากคุณไม่คำนึงถึงค่าใช้จ่ายในการรัน คนเก็บขยะ เช่นเดียวกับ Python Nim ใช้การเยื้องเป็นตัวคั่นบล็อก รองรับเครื่องมือการเขียนโปรแกรมเมตาและความสามารถในการสร้างภาษาเฉพาะโดเมน (DSL) รหัสโครงการ ให้มา ภายใต้ใบอนุญาต MIT

การเปลี่ยนแปลงที่โดดเด่นในรุ่นใหม่ ได้แก่:

  • ดำเนินการเก็บขยะใหม่ ARC (“-gc:ส่วนโค้ง”)
  • ในโมดูล "น้ำตาล"เพิ่มมาโครใหม่ในการเก็บรวบรวม ทำซ้ำ และจับภาพ
  • เพิ่มมาโครใหม่ "ด้วย"
  • การเรียกใหม่ส่วนใหญ่ได้ถูกเพิ่มลงในไลบรารีมาตรฐาน รวมถึง strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.Exception, sequutils.countIt ฯลฯ
  • เพิ่มโมดูลใหม่ std/stackframes และ std/compilestettings
  • มีการเพิ่มตัวเลือก “—asm” (สำหรับการวิเคราะห์โค้ดแอสเซมบลีที่สร้างขึ้น) และ “—panics:on” สำหรับการบังคับให้ออกจากข้อผิดพลาด IndexError และ OverflowError ลงในคอมไพเลอร์ โดยไม่มีความเป็นไปได้ที่จะถูกขัดขวางโดยตัวจัดการ “try”
  • ปรับปรุงการตรวจจับบัฟเฟอร์ล้นที่เป็นไปได้

ที่มา: opennet.ru

เพิ่มความคิดเห็น