Nim proqramlaşdırma dili buraxılışı 1.4.0

Bu ilin sentyabrında bir illik yubileyini qeyd edən Nim sistem proqramlaşdırma dilinin yeni versiyası buraxıldı. ilk stabil versiya. Dil sintaksis baxımından Python-a bənzəyir və performans baxımından demək olar ki, C++ kimidir. görə FAQ Dil (töhfə sırasına görə) böyük ölçüdə borc alır: Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


C/C++/Objective-C/JS-də tərtib etmək bacarığı sayəsində hər yerdə işləyir. Dəstəkləyir makrolar, OOP, generiklər, istisnalar, isti kod mübadiləsi və daha çox. Lisenziya: MIT.

Ən əhəmiyyətli dəyişikliklər:

  • ARC-dən alqoritmdən istifadə edən, lakin eyni zamanda dairəvi istinadları xüsusi şəkildə idarə edən yeni ORC zibil toplayıcısı var. -gc:orc seçimi ilə aktivləşdirilib. ARC/ORC fərqləri haqqında əla məqalə var.

  • Ciddi funksiya tərifləri üçün rejim əlavə edilmişdir ki, bu da obyekt dəyişkənliyini əlavə yoxlamaya imkan verir. {.experimental: "strictFuncs".} praqması və ya --experimental:strictFuncs düyməsi vasitəsilə aktivləşdirilib.

  • From açar sözü indi operator kimi istifadə edilə bilər.

  • .noalias praqması əlavə edildi. Açar sözün təmin edə biləcəyi səmərəliliyi artırmaq üçün C məhdudlaşdırıcı açar sözü ilə əlaqələndirilir.

  • Xüsusi xəbərdarlıqlar indi --warningAsError[X]:on|off vasitəsilə səhvlərə çevrilə bilər.

  • Yeni komanda: nim r main.nim [args...], main.nim-i tərtib edən və işlədən və özündə --usenimcache daxildir ki, nəticə nim c ilə eyni məntiqdən istifadə edərək $nimcache/main$exeExt-də saxlanılsın - r qaynaqlar dəyişmədikdə yenidən tərtibdən xilas olmaq. Misal:

nim r compiler/nim.nim --help # ilk dəfə tərtib edilmişdir
echo 'import əməliyyat sistemi; echo getCurrentCompilerExe()' | nim r - # bu da işləyir
nim r compiler/nim.nim --fullhelp # təkrar tərtib etmədən
nim r —nimcache:/tmp main # binar /tmp/main-də saxlanılır

  • Kompilyatorun səhv/xəbərdarlıq mesajlarını harada yaratdığını göstərən yeni ipucu -hint:msgOrigin əlavə edildi. Bu, mesajın haradan gəldiyi aydın olmayanda kömək edir.

  • Backend dəyişdirmək üçün bayraq —backend:js|c|cpp|objc (və ya -b:js və s.) əlavə edildi.

  • İkili faylları nimcache-ə çıxarmaq üçün --usenimcache bayrağı əlavə edildi.

  • Açarlar silindi: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest yardım proqramı indi yalnız əvvəlcədən bəyannaməni deyil, həm də def sorğusu üçün icra yerini göstərir.

Bundan əlavə, standart kitabxanaya bir çox dəyişikliklər və bir çox səhv düzəlişləri əlavə edildi.

Mənbə: linux.org.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster