Здравствуйте, student__, Вы писали:
__>Каким-то писателем научных бумаг надоел зоопарк ЯП в виде matlab, python, fortran, C++, и он решил создать один единственный ЯП, который их заменит. __>Но не поняли они, что каждый ЯП для своих нужд, что любое инженерное решение — это компромисс, и что вместо "делает лучше, чем все другие" может получиться "делает хуже, чем все другие".
Бессодержательно. Безусловно есть ниши, где Julia не конкурент, например в системном или встроенном программировании.
Под языками общего назначения понимаются современные языки с GC, такие как C#,Java,Python или Go. Чем именно Julia уступает таким языкам?
Здравствуйте, novitk, Вы писали:
N>Бессодержательно. Безусловно есть ниши, где Julia не конкурент, например в системном или встроенном программировании. N>Под языками общего назначения понимаются современные языки с GC, такие как C#,Java,Python или Go. Чем именно Julia уступает таким языкам?
Тем, что это новый язык, который надо осваивать. Правильный вопрос -- почему Julia, а не эти вот? Бэк+числодробилки-- питон. Да и на остальных можно тоже самое делать.
Здравствуйте, novitk, Вы писали: N>Под языками общего назначения понимаются современные языки с GC, такие как C#,Java,Python или Go. Чем именно Julia уступает таким языкам?
C#, Java и Go здесь лишние. Julia не предназначалась для их замены. А основное назначение — научные расчеты, а потом уже до кучи написали "для общего использования" (хотя нахрен не сдалась Julia за пределами их мира). Авторам C++ слишком усложнено, Fortan старо, а Python медленно.
Решили слепить монстра, который: непредсказуемый по скорости, в отличе от C++ и полон всякой типизированной лабуды, и вот этих всех танцев с бубном вокруг компиляции, кешей сборок и проч., в отличие от питона.
И содержит модные молодежные фичи, в отличие от фортрана и матлаба.
Здравствуйте, Sharov, Вы писали:
S>Правильный вопрос -- почему Julia, а не эти вот? Бэк+числодробилки-- питон.
На Python можно использовать числодробилки, написанные на C/C++.
На Julia можно писать числодробилки со скоростью C/C++.
S>Да и на остальных можно тоже самое делать.
На jvm/.net можно писать числодробилки, но без особых приседаний скорость будет в разы хуже Julia/C++.
Здравствуйте, student__, Вы писали:
__>Решили слепить монстра, который: непредсказуемый по скорости, в отличе от C++ и полон всякой типизированной лабуды, и вот этих всех танцев с бубном вокруг компиляции, кешей сборок и проч., в отличие от питона.
Julia сложнее питона, но сравнение некорректно. К питону надо добавить сложность C++ так как если библиотеки нет, ее придется делать там в отличие от. Если библиотека есть, то ее использование одинаково. "Непредсказуемость по скорости" есть в любом языке.
Здравствуйте, Nuzhny, Вы писали:
S>>Попробуй пересади ds с питона, где для обучения моделек и визуализации надо всего лишь пару вызовов S>>сделать, на julia. Уж очень много на питоне написано. И это весьма удобно.
Ты же понимаешь, что какой-нибудь tflow написан на плюсах, а Питон там просто оболочка, которую без проблем дешево сделать где угодно?
То есть все что есть в Питоне в джули тоже есть. Плюс свое родное.
Претензии на стабильность. А что он тогда рекомендует? Безусловнo степень отладки пропориональнa количеству потраченного бабла и в плюсах/питоне она выше.
Здравствуйте, novitk, Вы писали:
N>Ты же понимаешь, что какой-нибудь tflow написан на плюсах, а Питон там просто оболочка, которую без проблем дешево сделать где угодно?
Это первый TF, а во второй засунули целиком Keras, который намного удобнее. Писать на чистом TF — мучение. По факту, практически все конкуренты PyTorch сдулись, MxNet в том числе. И сейчас намного дешевле во всех смыслах обучать нейронки на Питоне, а потом на плюсах выводить в продакшен. Но на Pytorch можно и обучать на C++ — там сделали неплохое API. Как бы Julia могла бы стать единым языком, но не стала: питонистов много, плюсовики для продакшена тоже в достаточном количестве. В универах тоже учат Питону и плюсам, а не Джулии.
Здравствуйте, Nuzhny, Вы писали:
N>Это первый TF, а во второй засунули целиком Keras, который намного удобнее. Писать на чистом TF — мучение. По факту, практически все конкуренты PyTorch сдулись, MxNet в том числе. https://github.com/FluxML/Torch.jl
N>Как бы Julia могла бы стать единым языком, но не стала: питонистов много, плюсовики для продакшена тоже в достаточном количестве. В универах тоже учат Питону и плюсам, а не Джулии.
Это социальный аргумент про миллион лемингов не могут ошибаться. Да, нужен killerapp, которого пока нет.
Объективно скорее всего ты прав и в ML будет такая же жопа из говна и палок, как в вебе.
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, novitk, Вы писали:
N>>https://github.com/FluxML/Torch.jl
N>Тоже старьё. Я сам не рад засилью Питона, но увы. Пишу на плюса, что могу
Здравствуйте, Sharov, Вы писали:
V>>Матлаб больше на типичные инженерные задачи заточен. S>Не суть, главное что писать бэк на нем в здравом уме никто не будет.
Там чуть другой тулчейн — экспорт готового решения в Си/C++ (встроенная фича), оформление в виде библиотеки.
И вот это уже используют и в бэке, и где угодно, в т.ч. в автомобильной и авиаиндустрии.
Сам Matlab — это виртуальная лаборатория, заточенная на поиск решения.
Использовать в бэке его имеет смысл только в аналогичном сценарии — в каком-нить сервисе поиска инженерных решений.
И эти сервисы есть, конечно.
S>А на питоне пишут
Это полурешения полузадач.
Ничего серьёзного в бэке на Питоне не пишут.
Здравствуйте, novitk, Вы писали:
N>На jvm/.net можно писать числодробилки, но без особых приседаний скорость будет в разы хуже Julia/C++.
При том что теоретических препятствий разогнать числодробилки в этих платформах для сценария AOT нет.
И оно выглядит странно, например, для MS (автора дотнета), у которой есть ядро оптимизаций числодробилок для плюсов.
Я еще мог понять нежелание выкатывать свои наработки в халявную платформу, когда компилятор MS С++ приходилось покупать (времена первых версий дотнета), но сегодня тулчейн сборки под плюсы бесплатен. Смысла придерживать наработки больше нет.
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, novitk, Вы писали:
N>>На jvm/.net можно писать числодробилки, но без особых приседаний скорость будет в разы хуже Julia/C++.
V>При том что теоретических препятствий разогнать числодробилки в этих платформах для сценария AOT нет. V>И оно выглядит странно, например, для MS (автора дотнета), у которой есть ядро оптимизаций числодробилок для плюсов.
V>Я еще мог понять нежелание выкатывать свои наработки в халявную платформу, когда компилятор MS С++ приходилось покупать (времена первых версий дотнета), но сегодня тулчейн сборки под плюсы бесплатен. Смысла придерживать наработки больше нет.
С dotnet С++ либы при необходимости используют и так, хотя, конечно, MS могли бы и прикрутить оптимизатор.
Здравствуйте, novitk, Вы писали:
N>Бессодержательно. Безусловно есть ниши, где Julia не конкурент, например в системном или встроенном программировании. N>Под языками общего назначения понимаются современные языки с GC, такие как C#,Java,Python или Go. Чем именно Julia уступает таким языкам?
А чем Julia лучше этих языков?
Скорость — не показатель. Т.к. питон в основном работает поверх Си и достаточно быстр на реальных задачах.
В общем, отсутствуют значительные преимущества для перехода.
Здравствуйте, Буравчик, Вы писали:
Б>А чем Julia лучше этих языков?
Скорость разработки как в Питоне. Скорость исполнения как в плюсах.
Б>Скорость — не показатель. Т.к. питон в основном работает поверх Си и достаточно быстр на реальных задачах.
Только если задача может быть выражена через существующие библиотеки.
Тебе нужно сделать калибровку нелинейной модели. В Питоне вариантов два: плюсы или graph-based (tflow, pytorch). В джулии можно просто цикл написать, как в плюсах.
Здравствуйте, novitk, Вы писали:
N>Тебе нужно сделать калибровку нелинейной модели. В Питоне вариантов два: плюсы или graph-based (tflow, pytorch). В джулии можно просто цикл написать, как в плюсах.
Ну вот, в питоне есть целых два варианта. При этом второй вариант работает достаточно быстро и к тому же декларативный.
Насколько работает Julia быстрее относительно pytorch+python? На единицы процентов?
Здравствуйте, Буравчик, Вы писали:
Б>Ну вот, в питоне есть целых два варианта. При этом второй вариант работает достаточно быстро и к тому же декларативный.
Написать на плюсах это не на питоне. На джулии писать на плюсах не надо никогда.
Б>Насколько работает Julia быстрее относительно pytorch+python? На единицы процентов?
pytorch это плюсы. Eсли в коробке нет нужного кубика его опять же надо писать на плюсах и возможно в нескольких вариантах(x64, CUDA, etc). Или строить из подкубиков на графе, но это имеет смысл делать и вообще возможно только для "широких" и "простых" моделей, типа CNN с прицелом на GPU.