አዲስ የኒም ሲስተም ፕሮግራሚንግ ቋንቋ ተለቋል፣ እሱም በዚህ ሴፕቴምበር አንድ አመት የምስረታ በዓሉን ያከበረ። የመጀመሪያው የተረጋጋ ስሪት. ቋንቋው በአገባብ ከፓይዘን ጋር ተመሳሳይ ነው፣ እና በአፈጻጸም ከ 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