Lëshimi i gjuhës së programimit Nim 1.4.0

Doli një version i ri të gjuhës së programimit sistemik Nim, e cila këtë Shtator mbush një vit nga dalja e saj versionit të saj të parë stabil. Sipas sintaksës, gjuha është e ngjashme me Python, ndërsa në performancë është afër C++. Sipas FAQ gjuhës, shumë gjëra janë huazuar nga (në rendin e rëndësisë): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Funksionon kudo falë mundësisë së kompaktimit në C/C++/Objective-C/JS. Përkrah makros, OOP, gjenerikë, përjashtime, zëvendësim të nxehtë të kodit dhe shumë më tepër. Licenca - MIT.

Ndryshimet më të rëndësishme:

  • Ka njĂ« mbledhĂ«s tĂ« ri plehrash ORC, qĂ« pĂ«rdor algoritemin nga ARC, por trajton nĂ« mĂ«nyrĂ« tĂ« veçantĂ« lidhjet ciklike. Aktivizohet me opsionin —gc:orc. PĂ«r dallimet ARC/ORC Ă«shtĂ« njĂ« artikull i shkĂ«lqyer.

  • ËshtĂ« shtuar njĂ« mod pĂ«r definita strikte funksionesh, ku aktivizohet njĂ« kontroll shtesĂ« pĂ«r mutabilitetin e objekteve. Aktivizohet pĂ«rmes pragmĂ«s {.experimental: "strictFuncs".} ose pĂ«rmes çelĂ«sit —experimental:strictFuncs.

  • Fjalori klauzola from tani mund tĂ« pĂ«rdoret si operator.

  • ËshtĂ« shtuar pragma .noalias. Ajo pĂ«rputhet me fjalorin e C restrict, pĂ«r tĂ« rritur efikasitetin qĂ« mund tĂ« ofrojĂ« ky fjalor.

  • ParalajmĂ«rimet e veçanta tani mund tĂ« shndĂ«rrohen nĂ« gabime pĂ«rmes —warningAsError[X]:on|off.

  • Komanda e re: nim r main.nim [args
], qĂ« kompilon dhe ekzekuton main.nim, dhe pĂ«rfshin —usenimcache nĂ« mĂ«nyrĂ« qĂ« rezultati tĂ« ruhet nĂ« $nimcache/main$exeExt, duke pĂ«rdorur tĂ« njĂ«jtĂ«n logjikĂ« si nim c -r pĂ«r tĂ« shmangur rikompilimin kur burimet nuk janĂ« ndryshuar. Shembuj:

nim r compiler/nim.nim —help # kompiluar pĂ«r herĂ« tĂ« parĂ«
echo ‘import os; echo getCurrentCompilerExe()’ | nim r — # kjo gjithashtu funksionon
nim r compiler/nim.nim —fullhelp # pa rikompilim
nim r —nimcache:/tmp main # binari Ă«shtĂ« ruajtur nĂ« /tmp/main

  • ËshtĂ« shtuar njĂ« sugjerim i ri —hint:msgOrigin, qĂ« do tĂ« tregojĂ« se ku kompajleri ka gjeneruar mesazhe gabimesh/p paralajmĂ«rimesh. Kjo ndihmon kur nuk Ă«shtĂ« e qartĂ« nga erdhi mesazhi.

  • ËshtĂ« shtuar njĂ« flamur —backend:js|c|cpp|objc (ose -b:js etj.) pĂ«r ndryshimin e backend-it.

  • ËshtĂ« shtuar njĂ« flamur —usenimcache pĂ«r tĂ« nxjerrĂ« binarĂ«t nĂ« nimcache.

  • JanĂ« hequr çelĂ«sat: —oldNewlines, —laxStrings, —oldast, —oldgensym

  • Utiliteti nimsuggest tani tregon jo vetĂ«m deklaratĂ«n paraprake, por edhe vendndodhjen e zbatimit sipas kĂ«rkesĂ«s def.

Përveç kësaj, janë shtuar shumë ndryshime në bibliotekën standarde dhe shumë rregullime të defekteve.

Burimi: linux.org.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster