• ? программирование ня Кто-нибудь юзал julialang.org ?
    По-моему она не такая платная, как Матлаб, не такая тормозная, как Питон, и не такая отстойная, как они оба.
    А ещё на видео бородатый чувак в халате, прямо как я youtu.be
    Кто-нибудь скажет pros/cons?..

Replies (12)

  • @dluciv, не очень понятно: зачем её было делать и какую нишу среди уже имеющихся octave (в тему матлаба), R, maxima, и пр. она должна занимать?
  • @anton0xf, Ну фиг знает. Я в них вообще не секу. Только maxima представляю более или менее (скорее менее), но она же для символьных больше.
  • @anton0xf, Вернее скажем так, я из них всех только в Питоне более или менее секу и не совсем понимаю, почему его часто используют для "научных вычислений". Именно вычислений.
  • @dluciv, наверное, просто потому что уже умеют питон, и на нем, как и на любом другом языке общего назначения, можно реализовать любой численный алгоритм, да и библиотек достаточно много.
  • @dluciv, maxima, конечно, предназначена для символьных вычислений, но при этом вполне может и в числодробление (со вполне приличной производительностью). т.е. если в задаче сначала нужно проработать математическую часть, то я однозначно возьму её, чтобы не выискивать потом горы ошибок с своих записях на бумаге, а когда дело дойдет до непосредственных вычислений, то она же замечательно с ними справится, причем не надо будет переписывать все формулы в другой вид (на другой язык).

    для всякой статистики лучше сразу брать R.

    а octave имеет смысл брать, либо если нужно много работать с матрицами, т.к. там это удобно сделано, либо если кроме матлаба ничего не умеешь. кроме матриц в ней ничего особенного или прикольного нет, и я никогда бы не занялся её изучением, если бы не этот курс по machine learning
  • @anton0xf, Мне скорее надо тексты фигачить и вс\якие алгоритмы на них гонять.
  • @dluciv, смотря какие алгоритмы. если нужен какой-то статистический анализ, то точно R
  • @dluciv, Я пробовал на нем диплом писать, сравнивал с python+numpy+...
    Из плюсов — нормальный современный дизайн языка с прицелом на эффективное выполнение (JIT), т.е. тупо циклы не тормозят. Система типов тоже симпатичненькая.
    Из минусов — когда я пробовал, там был довольно странный механизм распараллеливания (я бы предпочел openmp-like интерфейс), хотя в питоне вообще по нулям. Довольно слабое все еще наполнение библиотек. Например, для machine learning ничего вменяемого вообще не было, против прекрасного scikit-learn для питона. Для NLP вроде как тоже за последний год как грибы повылезали библиотеки для питона, насчет julia сомневаюсь.
    Кажется, основные контрибуторы занимаются преимущественно всякими ЧМами и диффуры решают.
    Но в целом впечатление — весьма такая sexy open governance llvm-based среда, на уровне rust, но в другой нише.
  • @borman, Я распараллелить попробовал тоже — у меня есть для этого специальная задачка тестовая. Объём N-мерных сфер методом Монте-Карло и сравнение с аналитическим. Пытаюсь портировать на всякий язык, который увижу, если за час не получается, то либо я дурак, либо язык дурацкий, примерно так.

    Получилось-то почти с первого раза за полчасика, но с распараллеливанием очень расстроило то, что оно конкретно под кластер. Т.е. если мне нужно просто SMP, я всё равно получу кластерный оверхед в полном объёме (и в вычислениях, и в программировании). В общем не сильно лучше, чем parallel gem из руби с его форками или питоновский мультипроцессинг (с форками кстати на самом деле даже легче ещё, пока до возвращения результата не дойдёщь, но их под Вендой из коробки нет, понятно).

    Хотя в итоге работает раз в 10 быстрее того же Питона, да.

    Насчёт системы типов, как я понял, надо почаще её носом тыкать, чтобы она не пыталась делать мультифункции там, где типы известны. И не надо присваивать в нетипизированную переменную значения разных типов, иначе она её типизирует, как Any. Если это соблюдать, то JIT будет генерить приличный код, как я понял, да?
  • @anton0xf, Это да. Как одна моя студентка про Питон хорошо сказала: "Я гвозди привыкла забивать молотком, поэтому забор красить тоже буду молотком" =).
  • @anton0xf, А вот тут штука как раз в том, что надо разные алгоритмы быстро прототипизировать. Понятное дело, что потом, когда кто-нибудь из них себя очень хорошо покажет, я его возможно перепишу на Си. А сейчас на Питоне. И Питон подзадолбал своими скоростью и невыразительностью.
  • @dluciv, Вообще по первому впечатлению (1 день) Юленька в руках сидит не хуже, чем Питон. И, в отличие от Питона, больше за что подержаться есть, не поймите меня превратно.