Vydanie programovacieho jazyka Nim 1.4.0

Vyšla nová verzia systémového programovacieho jazyka Nim, ktorý tento september oslavuje rok od svojho uvedenia. prvej stabilnej verzie. Na syntaktickej úrovni je jazyk podobný Pythonu, pričom jeho výkon je takmer ako v C++. Podľa ČASTO KLADENÉ OTÁZKY jazyk vo veľkej miere čerpá z (v poradí významnosti príspevku): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Funguje všade vďaka možnosti kompilácie do C/C++/Objective-C/JS. Podporuje makrá, OOP, generiky, výnimky, horúcu výmenu kódu a mnoho ďalšieho. Licencia — MIT.

Najvýznamnejšie zmeny:

  • Objavil sa nový garbage collector ORC, ktorý využíva algoritmus z ARC, ale špeciálne spracováva cyklické odkazy. Aktivuje sa voľbou —gc:orc. O rozdieloch medzi ARC/ORC existuje skvelý článok.

  • Pridaný režim prísnych definícií funkcií, ktorý aktivuje dodatočnú kontrolu na mutable objekty. Aktivuje sa pomocou pragmy {.experimental: "strictFuncs"} alebo cez kľúč —experimental:strictFuncs.

  • Kľúčové slovo from môže byť teraz používané ako operátor.

  • Pridaná pragma .noalias. Tá sa mapuje na kľúčové slovo C restrict, aby zvýšila efektivitu, ktorú toto slovo môže poskytnúť.

  • Konkrétne varovania je teraz možné previesť na chyby cez —warningAsError[X]:on|off.

  • Nový príkaz: nim r main.nim [args…], ktorý kompiluje a spúšťa main.nim, a zahŕňa —usenimcache, takže výsledok je uložený v $nimcache/main$exeExt, používajúc rovnakú logiku ako nim c -r na zbavenie sa recompilácie, keď sa zdrojové súbory nezmenili. Príklad:

nim r compiler/nim.nim —help # skompilované po prvýkrát
echo ‘import os; echo getCurrentCompilerExe()’ | nim r — # toto tiež funguje
nim r compiler/nim.nim —fullhelp # bez recompilácie
nim r —nimcache:/tmp main # binárny súbor uložený v /tmp/main

  • Pridaná nová nápoveda —hint:msgOrigin, ktorá ukáže, kde kompilátor generoval správy o chybách/varovaniach. Pomáha to, keď nie je zrejmé, odkiaľ správa prišla.

  • Pridaná vlajka —backend:js|c|cpp|objc (alebo -b:js atď.) na zmenu backendu.

  • Pridaná vlajka —usenimcache na výstup binárnych súborov do nimcache.

  • Odstránené kľúče: —oldNewlines, —laxStrings, —oldast, —oldgensym

  • Nástroj nimsuggest teraz zobrazuje nielen predbežné vyhlásenie, ale aj umiestnenie implementácie na požiadanie def.

Okrem toho bolo pridané množstvo zmien v štandardnej knižnici a množstvo opráv chýb.

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster