Джулию Отпустили


Сообщество Julia выпустило Julia 0.4.0 с основными улучшениями языка и многочисленными улучшениями стандартной библиотеки. Julia 0.5.0 теперь находится в предварительном просмотре с ночными сборками. Это приведет к дальнейшему и значительному улучшению функциональности основного массива.

Julia-это динамический язык для технических вычислений, который особенно хорош для запуска программ в стиле MATLAB и R. Язык с открытым исходным кодом, Julia был впервые опубликован в 2012 году, хотя разработка началась в 2009 году профессором компьютерных наук Массачусетского технологического института Аланом Эдельманом с Джеффом Безансоном, Стефаном Карпински и Б. Шахом.

Еще в 2012 году его создатели объяснили, почему Мы создали Джулию, сказав:: 

Нам нужен язык с открытым исходным кодом, с либеральной лицензией. Нам нужна скорость C с динамизмом Ruby. Нам нужен гомоиконический язык с настоящими макросами, такими как Lisp, но с очевидной, знакомой математической нотацией, такой как Matlab. Нам нужно что-то такое же удобное для общего программирования, как Python, такое же простое для статистики, как R, такое же естественное для обработки строк, как Perl, такое же мощное для линейной алгебры, как Matlab, такое же хорошее для склеивания программ, как оболочка. Что-то такое, чему очень просто научиться, но что делает счастливыми самых серьезных хакеров. Мы хотим, чтобы он был интерактивным, и мы хотим, чтобы он был скомпилирован.

Джулия создала сильное сообщество, и в настоящее время насчитывается более 700 зарегистрированных пакетов, включая: 

JuliaStats – для статистики и машинного обучения 

JuliaOpt – пакеты оптимизации

JuliaQuantum – библиотеки для квантовой науки и техники

JuliaGPU – библиотеки и инструменты GPU

IJulia – интерфейс ноутбука, построенный на IPython

Овод – Грамматика графического статистического построения

Существует также бесплатная среда разработки с открытым исходным кодом Julio Studio от компании Forio, которая создает программное обеспечение для моделирования, исследования данных и прогнозной аналитики и продвигает Julia.

Одной из особенностей нового стабильного выпуска, Julia 0.0.4, являются сгенерированные функции, также называемые “поэтапными функциями”, которые обеспечивают более точный контроль над специализацией времени компиляции. Это новшество является предметом этого доклада от JulaiCon 2015, представленного Джейком Болевски:

Другие функции компилятора и языков, перечисленные в объявлении о выпуске как “примечательные:

Инкрементное кэширование кода для пакетов, что приводит к значительному сокращению времени загрузки для Овода и других больших, взаимозависимых пакетов.

Сборщик мусора поколения, который значительно снижает накладные расходы GC для многих распространенных рабочих нагрузок.

Перегрузка вызовов функций для произвольных объектов

Поддержка документирования пользовательских функций и других объектов и получения документации через справочную систему

Повышение производительности и гибкости многомерных абстрактных массивов, подмассивов (представлений массивов) и эффективных многомерных итераторов.

Межзадачные каналы для более быстрой связи между параллельными задачами

Улучшения типа кортежа: кортеж типа (A,B) теперь записывается кортеж{A,B}. Это изменение улучшило производительность многих операций, связанных с кортежами,и позволило записать агрегированные поля фиксированного размера в виде field::NTuple{N, T} (количество элементов заданного типа).

Основные улучшения в тестовом покрытии Джулии и возможность анализа тестового покрытия пакетов

Командная строка (REPL) теперь поддерживает заполнение вкладок символами emoji (общие символы LaTeX поддерживаются с 0.3!)

Теперь внимание сосредоточено на проблеме, называемой Arraypocalype, которая принесет новые функциональные возможности, но включает в себя некоторые критические изменения. Мэтт Бауман, автор этого выпуска, говорит на своей странице в GitHub, что “Работы определенно более чем достаточно!” и что “Любой желающий может копаться!”


Добавить комментарий