Ilmus uus versioon süsteemi programmeerimiskeelest Nim, mille ilmumisest möödub tänavu septembris aasta. esimene stabiilne versioon. Süntaks sarnaneb Pythoniga ja jõudlus on peaaegu nagu C++. Vastavalt FAQ keel laenab tugevalt (panuse kaalu järgi): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Töötab kõikjal tänu võimalusele kompileerida C/C++/Objective-C/JS-i. See toetab makrod, OOP, geneerilised ravimid, erandeid, kuuma koodi asendamine ja palju muud. Litsents - MIT.
Kõige olulisemad muudatused:
-
On uus ORC prügikoguja, mis kasutab ARC algoritmi, kuid käsitleb ringikujulisi viiteid erilisel viisil. Lubatud võtmega --gc:orc. Teave ARC/ORC erinevuste kohta seal on suurepärane artikkel.
-
Lisatud on rangete funktsioonide definitsioonide režiim, mis sisaldab täiendavat objekti muutuvuse kontrolli. Aktiveeritakse pragma {.experimental: "strictFuncs".} või lüliti --experimental:strictFuncs kaudu.
-
Märksõna from saab nüüd kasutada operaatorina.
-
Lisatud .noalias pragma. See vastendatakse C-piirangu märksõnaga, et suurendada selle märksõna tõhusust.
-
Konkreetsed hoiatused saab nüüd muuta vigadeks läbi --warningAsError[X]:on|off.
-
Uus käsk: nim r main.nim [args...], mis kompileerib ja käivitab faili main.nim ning sisaldab --usenimcache, nii et tulemus salvestatakse kausta $nimcache/main$exeExt, kasutades sama loogikat nagu nim c - r uuesti kompileerimisest vabanemiseks, kui lähtekood pole muutunud. Näide:
nim r compiler/nim.nim --help # kompileeriti esimest korda
echo 'import os; echo getCurrentCompilerExe()' | nim r - # see töötab ka
nim r kompilaator/nim.nim --fullhelp # ilma uuesti kompileerimiseta
nim r --nimcache:/tmp main # binaarfail salvestati kausta /tmp/main
-
Lisatud on uus vihje --hint:msgOrigin, mis näitab, kus kompilaator vea-/hoiatusteateid genereeris. See aitab, kui pole selge, kust sõnum tuli.
-
Taustaprogrammi muutmiseks on lisatud lipp --backend:js|c|cpp|objc (või -b:js jne).
-
Lisatud lipp --usenimcache, et nimcache'i binaarfaile väljastada.
-
Eemaldatud võtmed: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
Utiliit nimsuggest ei näita nüüd mitte ainult edastamise deklaratsiooni, vaid ka rakenduse asukohta, kui seda nõutakse def.
Lisaks on standardraamatukogusse lisatud palju muudatusi ja palju veaparandusi.
Allikas: linux.org.ru