Julia 1.3 программалоо тилинин чыгарылышы

жарыяланган программалоо тили чыгаруу Юлия 1.3, жогорку өндүрүмдүүлүк, динамикалык терүүнү колдоо жана параллелдүү программалоо үчүн орнотулган куралдар сыяктуу сапаттарды айкалыштыруу. Юлиянын синтаксиси MATLABка жакын, Ruby жана Lispден кээ бир элементтерди алган. Сап менен иштөө ыкмасы Perlди эске салат. Долбоор коду жайылуу MIT лицензиясы боюнча.

В жаңы версия:

  • Мүмкүнчүлүк ишке ашырылды толуктоолор методдорду абстракттуу түргө бөлүү;
  • Юникод 12.1.0 үчүн колдоо жана идентификаторлордо Юникод санариптик символдордун (𝟎-𝟗, 𝟘-𝟡) конкреттүү стилдерин колдонуу мүмкүнчүлүгү каралган;
  • Стандарттуу эмес өзгөрмө аттарын көрсөтүү жана талдоо үчүн сунушталган new синтаксис var"#str#";
  • Көп агымга байланыштуу куралдар кеңейтилди: Threads.@spawn макросу жана Channel(f::Function, spawn=true) ачкыч сөзү каалаган жеткиликтүү жипте тапшырмаларды ишке киргизүүнү уюштуруу үчүн кошулду. Файлдар жана розеткалар менен системанын бардык киргизүү/чыгаруу операциялары, ошондой эле псевдококустук сандар генератору көп агымдуу тиркемелерге ылайыкташтырылган (жип коопсуз);
  • Анын ичинде китепкананын жаңы функциялары кошулду
    findfirst, findlast, findnext, findprev, findall(үлгү, сап), count(үлгү, сап), sincosd(x) жана nonmissingtype.

Тилдин негизги өзгөчөлүктөрү:

  • Высокая аткаруу: Долбоордун негизги максаттарынын бири C программаларына жакын аткарууга жетишүү болуп саналат. Julia компилятору LLVM долбоорунун ишине негизделген жана көптөгөн максаттуу платформалар үчүн эффективдүү жергиликтүү машина кодун түзөт;
  • Ар кандай программалоо парадигмаларын, анын ичинде объектиге багытталган жана функционалдык программалоонун элементтерин колдойт. Стандарттык китепкана, башка нерселер менен катар, асинхрондук киргизүү/чыгаруу, процессти башкаруу, журналга жазуу, профилдөө жана пакетти башкаруу функцияларын камсыз кылат;
  • Динамикалык терүү: тил скрипт программалоо тилдерине окшош өзгөрмөлөрдүн түрлөрүн так аныктоону талап кылбайт. Интерактивдүү режим колдоого алынат;
  • Типтерди ачык көрсөтүүнүн кошумча мүмкүнчүлүгү;
  • Сандык эсептөө, илимий эсептөө, машина үйрөнүү жана маалыматтарды визуалдаштыруу үчүн идеалдуу синтаксис. Көп сандык маалыматтардын түрлөрүн жана эсептөөлөрдү параллелизациялоо үчүн куралдарды колдоо.
  • C китепканаларынан функцияларды кошумча катмарсыз түздөн-түз чакыруу мүмкүнчүлүгү.
  • Source: opennet.ru

Комментарий кошуу