LINUX.ORG.RU

JuliaLang 0.3.0

 , ,


0

3

Вышла новая версия динамического высокоуровневого языка для математических вычислений Julia 0.3.0. Используется динамическая компиляция (JIT) на основе LLVM, что позволяет показывать достаточно высокий уровень производительности. Существует встроенная система управления расширениями. Язык развивается как замена уже существующим Matlab/Octave, R и другим.

В настоящее время Julia находится в стадии активной разработки, поэтому список изменений обширен. С ним можно ознакомиться по нижеприведённой ссылке.

>>> Сайт проекта

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

★★★★★

Проверено: Shaman007 ()

Верно ли я понимаю, что вычисления можно описывать математической нотацией, используя значки типа ∉ ? Тогда по ходу IDE-шку для нее в итоге сделают на базе Texmaker :)

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

Нет, грубо говоря matlab на современный лад.

dinn ★★★★★ ()

От голого языка толку ноль. Сила матлаба не в языке, а в инфраструктуре и интеграции с существующими математическими пакетами.

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

Вот в кои веки соглашусь с Ресетом. То же самое относится и к R. Его используют не за чудный язык.

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

Поддержка расширений там изначально встроена. Учитывая, что это MIT, то вероятно в обозримом будущем (версии к 1.0) этим можно будет пользоваться. Хотя у авторов и присутствует некоторая упоротость.

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

А кто будет делать расширения? Пользователи таких продуктов хотят сразу работать, а не тратить туеву хучу времени на прикручивание фортрановских либ.

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

Как всегда, сначала запрягут своих студентов, потом другие вузы подтянутся. Если преодолеют критическую массу, то взлетит.

dinn ★★★★★ ()
Ответ на: комментарий от Reset

Это не совсем правда.
Посмотрите, например, на систему Scilab ATOMS - это дополнения к Scilab и XCos, развиваемых сообществом. То есть кто-то решил какую-то проблему для себя и выложил модуль. Это лучше, чем MATLAB FileExchange. Исходники ATOMS чаще всего хранятся на Scilab Forge, где есть баг-трекер и простейшая Wiki.
А Julia, да, скорее всего перспективна, развивается быстро.

anonymous ()

Не понимаю конечной цели этого проекта. на язык общего назначения не тянет, а для того, чтобы стать матлабо-заменителем, в julia слишком много лишнего. Лучше бы развивали среду разработки, исправляли многочисленные баги и регрессии, писали бы тулбоксы. А пока julia идет путем D, Rust - регулярно обновляемые фичи, но бедная инфраструктура и большое число багов

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

Лучше бы развивали среду разработки, исправляли многочисленные баги и регрессии, писали бы тулбоксы

Для какого продукта? Из свободных выбор не такой и большой, да и у многих хронические недостатки.

dinn ★★★★★ ()

Язык развивается как замена уже существующим Matlab/Octave, R и другим.

То есть, язык развивают как единую замену куче средств, предназначенных для решения настолько разных задач, что эти задачи между собой никак не пересекаются и требуют отдельных инструментов? Ну что ж. Пожелаем тогда проекту сдохнуть в муках.

Quasar ★★★★★ ()

ОМГ, а зачем язык R чем-то заменять? Это ж идеальный язык для математических вычислений, чего в нём не хватает-то?

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

DRVTiny ★★★★★ ()
Ответ на: комментарий от dinn

Octave хорош как заменитель Matlab. Единственная проблема - на него мало обращают внимание.

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

Там проблемы с интерпретатором. Это куча недокументированного, местами запутанного кода в котором могут разобраться не так и много человек. Например это выливается в то, что поддержка JIT в зачаточном состоянии. Соответственно сильно проигрывает Matlab в производительности. Но да, для «здесь и сейчас» Octave один из немногих вариантов.

dinn ★★★★★ ()

Я вот одного не понимаю, зачем для математики делать императивный язык? Это же чистое извращение. Ни один нормальный математик не согласится с тем, что выражение i = i + 1 имеет хоть какой-то математический смысл. Получается, что язык для программистов, которые вынуждены писать вычисления. Но опять же все вычисления в таких системах сводятся в основном в вызову подпрограмм, которые реализуют те или иные вычислительные методы и присвоению их результатов переменным. Всё! В этом случае совершенно не понятно зачем писать ещё какой-то «специализированный» язык, чтобы иметь возможность на нём запрограммировать вызов подпрограммы и присвоить результат.

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

Ни один нормальный математик

Так пишут физики, химики и другие их соратники.

зачем писать ещё какой-то «специализированный» язык

Скорость разработки и возможности прострелить себе ногу. Часто задачи это сделать быстро макет алгоритма, что-то проверить, насчитать пару экспериментов. Если в этих случаях писать всё на каком-нибудь C, то куча времени уйдёт на написание, отлаживание и прочее.

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

то вероятно в обозримом будущем (версии к 1.0)

Лишь бы не было через десять лет 0.9.256

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

Там максималисты, хотят следующей версией 0.4, а после 1.0.

dinn ★★★★★ ()

Не взлетит. Вот sage думаю взлетит, так как там догадались не писать что то там, а объединить кучу пакетов, да еще в качестве базы использовать готовый язык (питон). В результате sage можно пользовать и как питоновскую либу и как отдельный мат-блокнот, да еще и прикручивать к этому всему новое легко, помимо уже прикрученных штук.

i3draven ()

Язык развивается как замена уже существующим Matlab/Octave, R и другим.

А чем оно лучше уже существующих Matlab/Octave, R и других?

ugoday ★★★★★ ()
Ответ на: комментарий от i3draven

Scilab уже взлетел, Sage малопопулярен.

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

Не взлетит. Вот sage думаю взлетит

Если говорить о чём-то, что разрабатывается почти 10 лет и имеет сейчас версию 6.3 «думаю взлетит», то оно скорее обречено.

dinn ★★★★★ ()
Ответ на: комментарий от ugoday

Если совсем коротко, то на сайте описано вроде. Да и всяко лучше об этом подискутировать непосредственно с авторами.

dinn ★★★★★ ()
Ответ на: комментарий от DRVTiny

Язык R прекрасен пакетами. Но при этом местами не очень быстрый и крайне уродливый (нужно быть обратно совместимым, понятно; но проблемы не отменяет).

Вот есть функция list.files, есть rownames, а есть rowMeans; все названия стандартных функций. Это не говоря уж про всякие встроенные операторы типа %in%.

Davidov ★★★★ ()

Если кому интересно - нашел официальный сайт с пакетами Julia. Попробовал PyPlot

julia> Pkg.add(«PyPlot») 
.
Вцелом понравилось. Язык на первый взгляд приятнее Python'а. Остается попробовать среду Julia Studio. Написал простейшую программку для нахождения собственных значений трехдиагональной матрицы и построения их графика.

anonymous ()

Ну уж... Замахнулись на R. Не взлетит.

Vinni_Pooh ★★★★ ()
Ответ на: комментарий от DRVTiny

Это ж идеальный язык для математических вычислений
complex(real = x, imaginary = y)

Ох. На самом деле, J намного ближе к идеальному языку для математических вычислений, особенно если бы его грамотно допилить.
По крайней мере, в нём можно ввести i как 0j1 а не через извращения (про многомерные массивы и говорить не стоит).

quantum-troll ★★★★★ ()

я таки понял, зачем нужен этот язык! он должен развиться до такого уровня, чтобы на языке Julia можно было сделать форк MariaDB

anonymous ()

Неважно, сколько различных специфических функций поддерживает данный пакет и насколько он совместим с другими.
Важно то, что он опенсорс, для военных приложений это мб существенно. Собственно, сама реализация функций может иметь свои особенности, и что бы не плавать в теме, всё равно лучше всё делать самому. Иначе ракеты падают или взрываются.
Впилят наконец нормальную поддержку opencl, amd gpu, правда сами gpu - уже не те (вроде тоже урезали блоки х64). хз как с отладкой.

tic;cos(1:1e8);toc
в матлабе: Elapsed time is 17.594719 seconds.
в юлии: elapsed time: 32.419480323 seconds

tic;a=0;for i=1:1e7, a=a+1; end; toc
в матлабе: Elapsed time is 0.111513 seconds.
в юлии: elapsed time: 3.713993353 seconds

при этом матлаб имеет больший приоритет над прочими приложениями, если смотреть видео и в матлабе считать - видео тормозить начинает. С юлей такого нет.

цпу athlon2-245

wstorm ★★ ()
Последнее исправление: wstorm (всего исправлений: 4)
Ответ на: комментарий от wstorm

Комментарий в теме «Slow loops»:
«You're running this with globals? Try putting the loop in a function and timing the function call. There are issues with operations at the global scope that limit performance.»

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

цикл ужался в 0.053885285 seconds, если написать его в функции, омг.

wstorm ★★ ()
Последнее исправление: wstorm (всего исправлений: 1)
Ответ на: комментарий от wstorm

Скорее всего особенности реализации компиляции на лету.

dinn ★★★★★ ()

Интересно, за что этот язык назвали в честь героини моэмовского «Театра» :)

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