የኒም ፕሮግራሚንግ ቋንቋ መለቀቅ 1.4.0

አዲስ የኒም ሲስተም ፕሮግራሚንግ ቋንቋ ተለቋል፣ እሱም በዚህ ሴፕቴምበር አንድ አመት የምስረታ በዓሉን ያከበረ። የመጀመሪያው የተረጋጋ ስሪት. ቋንቋው በአገባብ ከፓይዘን ጋር ተመሳሳይ ነው፣ እና በአፈጻጸም ከ C++ ጋር ተመሳሳይ ነው። አጭጮርዲንግ ቶ በየጥ ቋንቋው በብዛት ይበደራል (በመዋጮ ቅደም ተከተል)፡ ሞዱላ 3፣ ዴልፊ፣ አዳ፣ ሲ++፣ ፓይዘን፣ ሊፕ፣ ኦቤሮን።


በC/C++/Objective-C/JS ውስጥ የማጠናቀር ችሎታ ስላለው በሁሉም ቦታ ይሰራል። ይደግፋል ማክሮዎች, ኦፕ, አጠቃላይ, የማይካተቱ, ትኩስ ኮድ መለዋወጥ እና ብዙ ተጨማሪ. ፍቃድ፡ MIT

በጣም ጉልህ ለውጦች:

  • ከ ARC አልጎሪዝምን የሚጠቀም አዲስ የ ORC ቆሻሻ ሰብሳቢ አለ, ግን በተመሳሳይ ጊዜ የክብ ማጣቀሻዎችን ልዩ በሆነ መንገድ ይቆጣጠራል. በ -gc:orc አማራጭ የነቃ። ስለ ARC/ORC ልዩነቶች በጣም ጥሩ ጽሑፍ አለ።.

  • ጥብቅ የተግባር ፍቺዎች ሁነታ ተጨምሯል፣ ይህም የነገሮችን ተለዋዋጭነት ለማረጋገጥ ተጨማሪ ማረጋገጫ ያስችላል። የነቃው በፕራግማ {.experimental: "strictFuncs" ወይም በ --experimental:strictFuncs ቁልፍ በኩል ነው።

  • ከቁልፍ ቃሉ አሁን እንደ ኦፕሬተር ሆኖ ሊያገለግል ይችላል።

  • ታክሏል .noalias pragma. በቁልፍ ቃሉ የሚሰጠውን ቅልጥፍና ለመጨመር በ C ላይ ያለውን ካርታ ይገድባል።

  • የተወሰኑ ማስጠንቀቂያዎች አሁን --warningAsError[X]: በርቷል|በማጥፋት ወደ ስህተት ሊለወጡ ይችላሉ።

  • አዲስ ትእዛዝ፡ nim r main.nim [args...]፣ ዋና.nimን ያጠናከረ እና የሚያስኬድ፣ እና --usenimcacheን የሚያጠቃልል ሲሆን ውጤቱም በ$nimcache/main$exeExt ውስጥ እንዲከማች፣ ከኒም ሐ ጋር ተመሳሳይ አመክንዮ በመጠቀም - ምንጮቹ ሳይለወጡ ሲቀሩ ከዳግም ማሰባሰብን ለማስወገድ r. ለምሳሌ:

nim r compiler/nim.nim --help # ለመጀመሪያ ጊዜ የተጠናቀረ
አስተጋባ 'አስመጣ os; echo getCurrentCompilerExe()' | nim r - # ይሄም ይሰራል
nim r compiler/nim.nim --fullhelp # ያለ ዳግም ማጠናቀር
nim r —nimcache:/tmp ዋና # ሁለትዮሽ በ /tmp/main ውስጥ ተቀምጧል

  • አዲስ ፍንጭ ታክሏል -hint:msgOrigin፣ ይህም አቀናባሪው የስህተት/የማስጠንቀቂያ መልዕክቶችን የት እንደፈጠረ ያሳያል። መልእክቱ ከየት እንደመጣ ግልጽ በማይሆንበት ጊዜ ይህ ይረዳል.

  • የታከለ ባንዲራ —backend:js|c|cpp|objc (ወይም -b:js, ወዘተ) የኋላውን ለመለወጥ.

  • ታክሏል --usenimcache ባንዲራ ወደ nimcache ሁለትዮሽ ለማውጣት።

  • ቁልፎች ተወግደዋል፡ --oldNewlines፣ --laxStrings፣ --oldast፣ --oldgensym

  • የ nimsuggest መገልገያ አሁን ቅድመ-መግለጫውን ብቻ ሳይሆን ለጥፋተኛ ጥያቄ የትግበራ ቦታንም ያሳያል።

በተጨማሪም፣ ብዙ ለውጦች ወደ መደበኛው ቤተ-መጽሐፍት እና ብዙ የሳንካ ጥገናዎች ተጨምረዋል።

ምንጭ: linux.org.ru