Programmeermiskeele Julia 1.5 väljaanne

Avaldatud релиз языка программирования Julia 1.5, сочетающего такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования. Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl. Код проекта GNU Üldine Avaliku litsentsi alusel. on MIT litsentsi all.

V uus versioon:

  • Проведена оптимизация размещения структур в памяти, которая позволила значительно сократить число операций распределения памяти в куче (за счёт inline-развёртывания или размещения в стеке), уменьшить потребление памяти и повысить производительность.
  • Улучшена поддержка многопоточности и стабилизирован API для работы с потоками.
  • Предоставлена возможность выбора уровня оптимизации, используемого при сборке отдельных модулей.
  • При передаче аргумента ключевого слова разрешено указание только одного имени, если оно совпадает для ключевого слова и переменной для хранения значения (например, вместо «x=x» можно указывать просто «x»).
  • Добавлен новый макрос «@ccall», предоставляющий более удобный синтаксис для вызова функций на языке Си.
  • Разрешён вызов макросов без разделения пробелом (вместо «@foo {…}» теперь можно писать «@foo{…}»).
  • На 25% увеличена производительность генерации псевдослучайных чисел.
  • Добавлена опция «—bug-report=rr» для записи и отправки rr-трассировок для упрощения исправления ошибок.
  • В пакетном менеджере по умолчанию активирован протокола Pkg, подразумевающий обращение к собственному репозиторию (pkg.julialang.org) вместо загрузки пакета напрямую из GitHub, GitLab, BitBucket и подобных хранилищ.

Keele põhijooned:

  • Kõrge производительность: одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си. Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;
  • Toetab erinevaid programmeerimisparadigmasid, sealhulgas objekte orienteeritud ja funktsionaalset programmeerimist. Standardraamatukogu sisaldab funktsioone, sealhulgas asünkroonseks sisendiks/väljundiks, protsesside juhtimiseks, logimise, profileerimise ja paketihaldamise jaoks;
  • Dünaamiline tüpiseerimine: keel ei nõua muutujate tüüpide selget määratlemist, sarnaselt skriptikeeltele. Toetatakse interaktiivset töörežiimi;
  • Valikuline võimalus tüüpide selgeks määramiseks;
  • Süntaks, mis sobib suurepäraselt arvutuste, teaduslike arvutuste, masinõppe süsteemide ja andmete visualiseerimise jaoks. Toetatakse mitmeid arvandmete type ja lahendusi arvutuste paralleliseerimiseks.
  • Otsene funktsioonide kutsumise võimalus C-keele raamatukogudest ilma täiendavate vahelkihtideta.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster