Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
 Julia - почему это прорывной язык?  [new]
booby
Member

Откуда:
Сообщений: 2534
Вопрос больше к тем, кто её выбрал и использует.

За последние год-полтора видно резкое увеличение активности вокруг этого языка.
С уже почти обязательным применением прилагательного "прорывной".
Расскажите пожалуйста об этом языке.

Почему вы его выбрали?
Какие из ваших клубков проблем он прорвал?
Что это вообще - Python, только "гораздо лучше", или нечто большее, с вашей точки зрения?

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

Почему статическая типизация не имеет значения для ваших задач, и как Julia рвёт её оковы?
В каком смысле Python безнадёжен, а Julia это ваше будущее всё?

Модератор: Тема перенесена из форума "Программирование".


Сообщение было отредактировано: 5 май 21, 12:36
5 май 21, 12:15    [22318697]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53399
Это прорыв заднего прохода очередного гения, создавшего очередной гениальный язык программирования. Забить, как и на 100500 предыдущих.
5 май 21, 14:14    [22318775]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6493
Прорывного в Джулии особенно ничего нет, просто удобный и быстрый язык для мат.вычислений.
Из коробки пакеты, параллельность, CUDA.

Конкурент Питона в этой области.

Вот я статью сравнительную переводил.

Сообщение было отредактировано: 5 май 21, 16:05
5 май 21, 16:12    [22318883]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
booby
Member

Откуда:
Сообщений: 2534
Siemargl
Прорывного в Джулии особенно ничего нет...

Как строится такое мнение?
Вот про C говорят, что он был именно прорывной в свое время и своей области, резко сокративший время разработки
низкоуровневого системного кода, одновременно со снижением порога вхождения программиста в тему.

Статью посмотрел, спасибо.
Вычитал вот что:
Автор - человек из сообщества D.
Сравнивает свой D с двумя современными конкурентами из области высокопроизводительных параллельных вычислений,
и приходит к выводу, что D лучший по производительности в условиях конкретного эксперимента.

С позиции Julia на эту историю можно смотреть так:
Берут язык Julia с динамической типизацией, компиляцией и загрузкой пакетов, и сравнивают с двумя статически типизированными языками со статической компиляцией. (Уже в этом месте можно было бы сказать - "как не стыдно".)

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

б) автор отмечает, что из трех сравниваемых вариантов, лично ему проще всего и легче всего работалось именно с ней, как языком,
и её документацией, при том, что это был его первой опыт.
Что это, само по себе, если не признание большей итоговой эффективности Julia для программиста.
Легкий вход, быстрое получение результата. Разве разрыв порога входа новообращенного не относится к категории "прорывной"?
5 май 21, 18:06    [22318936]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6493
booby,

Удобство разработки к прорыву я не могу отнести.

То что узкоспециализированный язык, в своей области, выигрывает у языка общего назначения - тоже.

Кстати, то что в этом тесте выигрывает именно Джулия - несомненно - ее код гораздо чище (надо смотреть полную версию на гитхабе), а D сильно проиграл по памяти (мне лень было разбираться в причинах).

И Джулия ближе к языкам с автовыводом типов, чем к динамически типизированным, но это сложный вопрос в приложении к JIT.

Сообщение было отредактировано: 5 май 21, 19:28
5 май 21, 19:35    [22318959]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
booby
Member

Откуда:
Сообщений: 2534
насчёт "своей области".
Оба соперника D в обсуждаемом эксперименте изначально спроектированы для работы режиме распределенных вычислений.
Это значит, что обоим либо не требуется изменения кода для переноса вычисления на кластер или в облако,
либо минимальные, и средства для этого есть в самом языке.
А для D подходящей библиотеки поддержки может и не найтись.

В некотором смысле, с D они соревновались не совсем в своей области.
Или D старался поставить себя настолько рядом, насколько вообще был технически способен.

Пока ясно вот что, что если всем сразу, и задешёво, понадобятся петафлопного объёма вычисления на миллионе потоков,
то вот вам Julia, и не морочьте голову. Уж с ней-то точно всякий разберется.

Кажется, интересное скрещение функционального с императивным, с выходным лозунгом "всё - выражение", вместо "всё - функция",
и с тщательным избеганием коннотаций с "всё - объект".
5 май 21, 21:01    [22318991]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6493
booby,

Про кластерные вычисления.

Немного разные весовые категории. D это такой бастард С++ - если что то на свете есть, то для него есть и библиотека.

Но нативная поддержка в языке будет удобнее. Здесь наверное выиграет Чапель, который проектируют разработчики суперкомпьютеров Cray.

Но и в Джулии что то есть

Я так глубоко не лез, личного кластера нету =)

А вот для OpenCL уже пошло не все гладко в Джулии - 4Гб видеопамяти не хватило для тестов, еще знаю что в D есть поддержка нативной компиляции в примитивы видеокарт.
5 май 21, 22:43    [22319031]     Ответить | Цитировать Сообщить модератору
 Re: Julia - почему это прорывной язык?  [new]
_дух_
Member

Откуда:
Сообщений: 1
Dimitry Sibiryakov,

Ты не понял - не дави.
У юлии реализован multi-dispatch. Это не ново и на первый взгляд ничего выдающегося, но по мне так это субтильная фишка на самом деле и есть gamechanger. OOP выглядит динозавром.
5 май 21, 23:36    [22319044]     Ответить | Цитировать Сообщить модератору
Все форумы / Вопрос-Ответ Ответить