LINUX.ORG.RU

Julia 0.5

 ,


0

4

После года разработки представлен релиз Julia 0.5 — высокоуровневого высокопроизводительного свободного языка программирования с динамической типизацией, созданного для математических вычислений, но также эффективного и для написания программ общего назначения. Синтаксис языка схож с синтаксисом других математических языков (таких как MATLAB и Octave), однако имеет некоторые существенные отличия. Ядро Julia написано c использованием C, C++ и Scheme.

Этот релиз содержит существенные доработки языка и стандартной библиотеки. Главной его задачей было получение возможности писать быстрый функциональный код и избавиться от потерь производительности при использовании анонимных функций и замыканий.

Важные изменения:

  • Ускорение было достигнуто путём выведения каждой функции и замыкания в отдельный тип, где переменные замыкания являются атрибутами типа. Все функции, включая анонимные, теперь являются обобщенными и поддерживают все возможности.
  • Добавлена экспериментальная поддержка многопоточности.
  • Все измерения, индексируемые скалярами, теперь сбрасываются; ранее исключались только последующие измерения. Это изменение является несовместимым с предыдущими версиями, но упорядочивает правила индексации.
  • Списковое включение теперь может создавать итераторы, вычисляемые только при необходимости.
  • Добавлена экспериментальная поддержка массивов, индекс которых начинается от значения, отличного от 1. Стандартные массивы Julia по-прежнему индексируются от 1, но внешние пакеты могут реализовывать типы массивов, начинающихся c произвольных индексов.
  • Значительно упрощены строковые типы: ASCIIString и UTF8String объединены в String; из стандартной библиотеки извлечены типы и функции, относящиеся к кодировкам.
  • Управление пакетами теперь используют libgit2 вместо обращения к git с помощью командной оболочки. Это делает управление пакетами намного быстрее и надежнее, особенно на Windows.
  • Julia теперь работает на ARM и Power и, благодаря этому, теперь может использоваться на широком диапазоне аппаратного обеспечения — от самых малых встраиваемых систем до самых высокопроизводительных компьютеров.
  • Gallium, отладчик для Julia, теперь готов к использованию. Он даёт возможность полноценной отладки когда на Julia и C и встроен в IDE Juno.

>>> Список изменений

>>> Подробности

anonymous

Проверено: Falcon-peregrinus ()
Последнее исправление: sudopacman (всего исправлений: 11)
Ответ на: комментарий от Norgat

http://ailev.livejournal.com/1164251.html

Об Julia language

Сегодня в порядке воскресного развлечения поставил Juno+Julia (http://junolab.org/ — это IDE Light Table + Julia), потрогал язык живьём. Эх, мне бы этот язык году так в 1977 (когда я начал заниматься распознаванием образов/image recognition, тогда так называлось machine learning), я был бы счастлив безумно. Но нет, приходилось работать на Fortran и PL/1 (ибо считал я тогда на EC-1022 главным образом). Для численного моделирования в этом языке есть всё и ещё чуть-чуть. Поддержка изнутри языка кодов LaTeX (ага, греческие идентификаторы — не вопрос), встроенные типы комплексных и рациональных чисел.

ghett
()
Ответ на: комментарий от ghett

Синтаксис это замечательно. Поддержка чисел это замечательно, но, по моему мнению, этого сейчас недостаточно.

В том же image recognition нужна куча алгоритмов. Где они есть? Например в OpenCV. Смотрим на состояние биндингов.

Биндинги к стабильным модулям не доделаны (см. список модулей тут https://juliaopencv.github.io/latest/index.html и смотрим список модулей тут http://docs.opencv.org/master/).

И если для Core модулей биндинги есть, то для Extra их нет вообще. А в Extra есть такие полезности, как tracking.

Вот и получается, что легче и логичнее взять Python, для которого биндинги уже имеются (и ими пользуются сами разработчики модулей, см. https://github.com/opencv/opencv_contrib/tree/master/modules/tracking/samples).

Да, вариант сделать биндинги самому или реализовать нужный алгоритм на Julia имеется. Но это время. И сравнивая варианты - взять Python с готовыми модулями или взять Julia без модулей, я не вижу таких громадных преимуществ у Julia.

Norgat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.