Выпуск мовы праграмавання Julia 1.3

Апублікаваны рэліз мовы праграмавання Юлія 1.3, які спалучае такія якасці як высокая прадукцыйнасць, падтрымка дынамічнай тыпізацыі і ўбудаваныя сродкі для паралельнага праграмавання. Сінтаксіс Julia блізкі да MATLAB з запазычаннем некаторых элементаў з Ruby і Lisp. Метад маніпуляцыі радкамі нагадвае Perl. Код праекту распаўсюджваецца пад ліцэнзіяй MIT.

В новай версіі:

  • Рэалізавана магчымасць дадання метадаў у абстрактныя тыпы;
  • Забяспечана падтрымка Unicode 12.1.0 і магчымасць выкарыстання спецыфічных напісанняў лічбавых сімвалаў Unicode (𝟎-𝟗, 𝟘-𝟡) у ідэнтыфікатарах;
  • Для вываду і разбору нестандартных імёнаў зменных прапанаваны новы сінтаксіс var»#str#»;
  • Пашыраны сродкі, звязаныя са шматструменнасцю: Дададзены макрас Threads.@spawn і ключавое слова Channel(f::Function, spawn=true) для арганізацыі запуску задач у любым даступным струмені. Усе сістэмныя аперацыі ўводу/высновы з файламі і сокетамі, а таксама генератар псеўдавыпадковых лікаў, адаптаваныя для шматструменных прыкладанняў (thread-safe);
  • Дададзены новыя бібліятэчныя функцыі, уключаючы
    findfirst, findlast, findnext, findprev, findall(pattern, string), count(pattern, string), sincosd(x) і nonmissingtype.

Ключавыя асаблівасці мовы:

  • Высокая прадукцыйнасць: адной з ключавых мэт праекта з'яўляецца дасягненне прадукцыйнасці блізкай да праграм на мове Сі. Кампілятар Julia заснаваны на напрацоўках праекту LLVM і генеруе эфектыўны натыўны машынны код для шматлікіх мэтавых платформаў;
  • Падтрымка розных парадыгмаў праграмавання, уключаючы элементы аб'ектна-арыентаванага і функцыянальнага праграмавання. Стандартная бібліятэка падае ў тым ліку функцыі для асінхроннага ўводу/высновы, кіраванні працэсамі, вядзенні логаў, прафіляванні і кіраванні пакетамі;
  • Дынамічная тыпізацыя: мова не патрабуе відавочнага вызначэння тыпаў для зменных па аналогіі са скрыптовымі мовамі праграмавання. Падтрымліваецца інтэрактыўны рэжым працы;
  • Апцыянальная магчымасць відавочнага ўказання тыпаў;
  • Сінтаксіс, які выдатна падыходзіць для лікавых вылічэнняў, навуковых разлікаў, сістэм машыннага навучання і візуалізацыі дадзеных. Падтрымка многіх лікавых тыпаў дадзеных і сродкі для распаралельвання вылічэнняў.
  • Магчымасць прамога выкліку функцый з бібліятэк на мове Сі без дадатковых праслоек.
  • Крыніца: opennet.ru

Дадаць каментар