Mae fersiwn newydd o iaith raglennu system Nim wedi'i rhyddhau, a ddathlodd fis Medi eleni ei phen-blwydd yn un flwyddyn. fersiwn sefydlog gyntaf. Mae'r iaith yn debyg mewn cystrawen i Python, a bron fel C++ mewn perfformiad. Yn Γ΄l Cwestiynau Cyffredin Mae'r iaith yn benthyca'n drwm oddi wrth (yn nhrefn cyfraniad): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Yn gweithio ym mhobman diolch i'r gallu i lunio C/C++/Objective-C/JS. Mae'n cefnogi macros, OOP, generig, eithriadau, cyfnewid cod poeth a llawer mwy. Trwydded: MIT.
Y newidiadau mwyaf arwyddocaol:
-
Mae yna gasglwr sbwriel ORC newydd sy'n defnyddio'r algorithm gan ARC, ond ar yr un pryd yn trin cyfeiriadau cylchol mewn ffordd arbennig. Wedi'i alluogi gan yr opsiwn -gc: orc. Am y gwahaniaethau ARC/ORC mae erthygl wych.
-
Mae modd ar gyfer diffiniadau swyddogaeth llym wedi'i ychwanegu, sy'n galluogi gwiriad ychwanegol ar gyfer mutability gwrthrych. Wedi'i actifadu trwy'r pragma {.experimental: "strictFuncs".} neu drwy'r allwedd --experimental:strictFuncs.
-
Bellach gellir defnyddio'r allweddair o fel gweithredwr.
-
Ychwanegwyd .noalias pragma. Mae'n mapio i'r allweddair cyfyngu C i gynyddu'r effeithlonrwydd y gall yr allweddair ei ddarparu.
-
Bellach gellir troi rhybuddion penodol yn wallau trwy --warningAsError[X]:on|off.
-
Gorchymyn newydd: nim r main.nim [args...], sy'n llunio ac yn rhedeg main.nim, ac yn cynnwys --usenimcache fel bod y canlyniad yn cael ei storio yn $nimcache/main$exeExt, gan ddefnyddio'r un rhesymeg Γ’ nim c - r cael gwared ar ail-grynhoi pan nad yw'r ffynonellau wedi newid. Enghraifft:
nim r compiler/nim.nim --help # wedi'i lunio am y tro cyntaf
adlais 'mewnforio os; adlais getCurrentCompilerExe()' | nim r -# mae hwn yn gweithio hefyd
nim r compiler/nim.nim --fullhelp # heb ail-grynhoi
nim r βnimcache:/tmp prif # deuaidd wedi'i gadw yn /tmp/main
-
Ychwanegwyd awgrym newydd -hint:msgOrigin, a fydd yn dangos lle cynhyrchodd y casglwr negeseuon gwall / rhybudd. Mae hyn yn helpu pan nad yw'n amlwg o ble y daeth y neges.
-
Ychwanegwyd baner βbackend:js|c|cpp|objc (neu -b:js, ac ati) i newid y pen Γ΄l.
-
Ychwanegwyd --usenimcache baner i allbwn deuaidd i nimcache.
-
Tynnwyd allweddi: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
Mae'r cyfleustodau nimsuggest bellach yn dangos nid yn unig y rhag-ddatganiad, ond hefyd y lleoliad gweithredu ar gyfer cais def.
Yn ogystal, mae llawer o newidiadau wedi'u hychwanegu at y llyfrgell safonol a llawer o atgyweiriadau i fygiau.
Ffynhonnell: linux.org.ru