LINUX.ORG.RU
ФорумTalks

Julia 0.7

 , , ,


3

8

Вышла альфа-версия сабжа для математических вычислений.

Язык, созданный для замены Fortran, R, Matlab и Python.

По скорости сравним с Сишкой. Кто-нибудь юзал, тестал?

Разрабы просят тестать язык в хвост и в гриву и о багах сообщать на Гитхабе.

★★

Последнее исправление: FilosofeM (всего исправлений: 2)

Я смотрел на него полдня и так и не понял, чем он лучше Python+Cython. Выглядит так, будто придуман для реабилитации жертв фортрана головного мозга.

t184256 ★★★★★
()

По скорости сравним с Сишкой.
Кто-нибудь юзал, тестал?

«не читал, но осуждаю».

Пруфы, Билли. А то тут постоянно слышишь про очередных убийц C/Fortran, но что-то пока никто далеко не уехал.

ZERG ★★★★★
()

Кто-нибудь юзал, тестал?

Какая-то наркомания и скрещивание ежа с ужом.

Язык, созданный для замены Fortran, R, Matlab и Python.

Интересно они всё так же ломают совместимость каждый месяц? В других языках так не делают под угрозой расстрела. Тут не web с привычкой переписывать всё с нуля каждые полгода.

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

А то тут постоянно слышишь про очередных убийц C/Fortran, но что-то пока никто далеко не уехал.

Помнится в самом начале пиара Julia разработчики выругались, что для Octave/Matlab в тестах очень неоптимальный код был.

dinn ★★★★★
()

Как продвинутый юзер фортрана, R, матлаба и питона с многолетним стажем, наблюдаю за проектом julia давно в ожидании стабильной версии. То, что эти люди придумывают, имеет много смысла, хотя это и не всем понятно. Там jit компилятор идёт из коробки, и много других продвинутых фич. Динамически типизированный код действительно работает так же быстро, как и фортран на многих тестах, хотя есть и проблемы, которые команда разработчиков решает. Им пришлось изнасиловать ООП, чтобы LLVM его лучше понимал, но пмм, в лучшую сторону. Версия 0.7 - это последняя обратно несовместимая версия перед 1.0, которая выйдет в августе. Инфраструктура включает себя несколько очень продвинутых библиотек для научных вычислений. Как только они появятся на кластере в моей компании, определённо, буду использовать более активно.

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

Интересно они всё так же ломают совместимость каждый месяц?

Да, и об этом говорится прямо, поскольку язык в процессе разработки. 0.7 - последняя обратно несовместимая версия перед 1.0.

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

Выглядит так, будто придуман для реабилитации жертв фортрана головного мозга.

Матлаба головного мозга только. А так - пусть лучше дебаггер к своему поделию напишут.

ptarh ★★★★★
()

Отличный язык, но пока останемся на 0.6.2

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Int64

Нет, то что «есть» неудивительно — люди могут тратить время на весьма странную фигню. Вопрос скорее был в том «а зачем он нужен»? Профилировщик — понимаю, трейс вызовов (надеюсь, ты это дебагером не зовешь?) понимаю, дебагер — не понимаю. Приведи use case.

unanimous ★★★★★
()

Julia
Нет отладчика
2k18

Можно закапывать вместе с любителями поотлаживать через printf.

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

Да будет там дебагер, расслабьтесь. Это просто не самая приоритетная задача для девелоперов. Первый приоритет у них - допилить компилятор и выпустить стабильную версию, чтоб люди могли библиотеки начать писать. А такие вещи, как дебагер можно делать после, не ломая обратной совместимости.

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

но зачем?

  • Fortran - устарел
  • R - тормозной, однопоточный, динамический, клон проприетарного S. Не годится для линейной алгебры. Для статистики норм.
  • Matlab - проприетарщина, не годящаяся для статистики
  • Python - скриптовый динамический тормозной язычок, не предназначенный для вычислительной ниши. Юзается только с либами аля Pandas, NumPy и т.д.

Julia - все из коробки. Язык специально создан для математиков. Шустрый, свежий, современный. Многопоточный. Гибридная типизация, где можно указывать типы, а можно нет. Множественная диспетчеризация как замена убогого ООП, которому в тут не место.

Да и нахрена нужно ковыряться во многих языках, когда лучше юзать одну Джулию, которая легко их все заменяет?

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

Fortran - устарел

выходящий осенью стандарт Fortran 2018, толкая под локоть стандарт Fortran 2008, смотрит на тебя с недоумением.

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

выходящий осенью стандарт Fortran 2018

Fortran 2018 is a minor revision of Fortran 2008

Джулия релизнется - Фортран канет в лету.

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

Интересно они всё так же ломают совместимость каждый месяц?

Конечно ломают, это же альфа-версия! Кстати последняя. Далее - релиз с удалением всех депрекаций.

В других языках так не делают под угрозой расстрела.

Это в каких-же? В ынтырпрайзной жабе, где обратная совместимость - религия, ее поломали, с внедрением Jigsaw.

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

Julia - все из коробки

то есть он всё тобой перечисленное сразу из коробки? збс чё=)

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

выходящий осенью стандарт Fortran 2018

Это крутой прогресс, но всё-таки более высокоуровневые языки оставляют его далеко позади во всех задачах, кроме числодробилок.

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

Джулия релизнется - Фортран канет в лету.

Не канет он ещё долго. Это ISO стандарт. Поэтому всякие корпорации будут использовать его до нового потопа.

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

Джулия релизнется - Фортран канет в лету.

мечты-мечты

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

Да, они в основном туда продолжили добавлять фичи связанные с распараллеливанием и взаимодействием с Си.

Ну и пусть его оставляют позади в других задачах, он используется там, для чего первоначально и создавался, хотя некоторые ограничения немного расстраивают. Например, не получается (у меня) инициализировать объект пользовательской «структуры», если тот объявлен с использованием динамических переменных, по крайней мере для character(len=:). Приходится использовать либо статику, либо, видимо, нужно повозиться и описать эту структуру как «класс», в котором добавить связанные функции для выделения памяти.

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

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

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

А зачем он еще нужен? У интерпретаторов есть REPL, напечатать в любой момент содержимое произвольной (да и всех) переменных не проблема, в матлабе, например, достаточно опустить точку с запятой у стейтмента, или использовать whos для распечатки контекста, есть функции для печати контекста замыканий. При наличии исходного текста всегда можно вставить assert на условие, в функциях или ту же банальную печать, можно перехватывать исключение catch-ем. Я решительно не вижу места отладчика тут. Что он такое позволяет, чего нельзя сделать штатными средствами интерпретатора?

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

А зачем он еще нужен?

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

Что он такое позволяет, чего нельзя сделать штатными средствами интерпретатора?

Что заставило тебя предположить, что он позволяет что-то такое?

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

Python - скриптовый динамический тормозной язычок, не предназначенный для вычислительной ниши. Юзается только с либами аля Pandas, NumPy и т.д.

Как будто что-то плохое.

Да и нахрена нужно ковыряться во многих языках, когда лучше юзать одну Джулию, которая легко их все заменяет?

Давно она стала успешным ЯП общего назначения?

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

Что он такое позволяет, чего нельзя сделать штатными средствами интерпретатора?

Как минимум значительно ускорить процесс отладки, избавившись от телодвижений по модификации кода.

Я программирую постоянно, обожаю расставлять отладочную печать и assert'ы, отладчиком пользуюсь раз в неделю, но это не значит, что отладчик не нужен. То, что решается банальной установкой watchpoint можно найти и без отладчика, но только если очень скучно и очень не торопишься.

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

В общем, вот здесь тебя предлагают закопать

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

А по существу - слишком толсто

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

Давно она стала успешным ЯП общего назначения?

Julia никогда не была ЯП общего назначения. Создана для замены всех язычков именно в вычислительной нише.

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

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

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

Ну что ж, язычки она может и заменит, а вот языки никуда не денутся, сорри.

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

Как минимум значительно ускорить процесс отладки, избавившись от телодвижений по модификации кода.

Точку с запятой поставить уже «телодвижения»? Это же не жаба с плюсами, где пока закончишь стейтмент — вспотеешь.

Нет, я теперь вижу, зачем кому-то понадобился отладчик, но прекрасно понимаю разработчиков, задвинувших эту хотелку в конец todo листа

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

Да ладно, нормальная поделка для своих целей. Просто когда его придумали, никто не сподобился jit компилятор запилить, поскольку llvm тогда ещё не было, и заморачиваться никто не стал. Решили, что проще сишные модули изолентой склеивать. И в этом был резон. Сейчас есть llvm, и жулька обещает эту нелепость исправить. Неплохо получается вроде бы.

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

R используют многие крупные фирмы, а на Julia кто-нибудь уже обратил внимание? Большое ли сообщество, есть ли потенциал развития? Есть смысл начинать её тыкать для ознакомления, если мой usecase — инженерные задачи?

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