Julia

Dec. 8th, 2014 04:32 pm
kaipa: (Default)
[personal profile] kaipa
Программистское.

А смотрел ли кто-нибудь на julia? Команда разработчиков ставит своей целью собрать лучшее из Матлаба, R, Mathematica и т.д., для того чтобы сделать новый хороший инструмент для инженерного программирования и статистического моделирования.

В Университете больше 15 лет назад мы делали расчеты и мат.мадели на матлабе. Это было, как сейчас помню, круто. Матричные операции и мощные средства визуализации позволяли очень много с минимальными усилиями. Язык не мешал, и не помогал. Его просто не было видно за решением задачи.

Несколько лет назад игрался с J. Удивительный, необычный, очень "вкусный" язык программирования. В умелых руках эффективный инструмент (пример умелых рук -- dr-klm из Донецкого физтеха).

Потом я посмотрел на R. Но именно, что посмотрел, написав несколько простеньких программ, которые, впрочем, интегрировались с настоящими данными (настроить ODBC к Вертике на Маке у меня не получилось, но на R получилось использовать http интерфейс и распарсить результат). В отличие от Матлаба, R мне показался рыхлым, скажем, как первая джава, вроде бы многое можно, но как-то сумбурно и не цепляет.

На первый взгляд, Julia не сильно лучше в этом плане. Из объективных плюсов по сравнению с R -- скорость (JIT), лучше система типов. Отзывы в сети отдают предпочтение Julia как языку, но предостерегают, что библиотеки и средства визуализации еще не так развиты, как в R. Что понятно.

А вот к читателям у меня вопрос -- какой язык программирования вы недавно (или давно, но последний) выучили и зачем. За себя отвечу -- Scala (использую профессионально), и J -- для души.

Date: 2014-12-08 12:52 pm (UTC)
From: [identity profile] v-pychick.livejournal.com
давно не щупал ничего нового

Date: 2014-12-08 01:47 pm (UTC)
From: [identity profile] -darkus-.livejournal.com
Haskell.

Date: 2014-12-08 04:30 pm (UTC)
From: [identity profile] vincentfischer.livejournal.com
хаскел жи, но никогда не использовал

по теме поста: ну а чем юлия лучше октавы? а чем лучше рута? на мой взгляд, работа устроена так: ты приходишь в проект, и там либо уже используют какой-то инструмент, либо (если проект действительно важный и требует) пилят свой. а чтобы у ста точек найти среднее и прямой отфитировать любой пакет годится, лишь бы быстро вспомнить, какую кнопку тыкать.

Date: 2014-12-08 04:38 pm (UTC)
From: [identity profile] ushastyi.livejournal.com
Конечно, вопрос стоит не в том, что менять что-то в существующем проекте, а в том, что если есть новый проект или задача, то какой инструмент использовать. Конечно, есть соблазн сказать, что лучший инструмент -- это известный инструмент. Но мир на месте не стоит, появляются новые инструменты и т.д.

Date: 2014-12-08 04:55 pm (UTC)
From: [identity profile] antilamer.livejournal.com
> А смотрел ли кто-нибудь на julia?
Я общался с какими-то machine learning researchers из Беркли, которые использовали Spark и Julia, и были более довольны Julia из-за высокой производительности (в случае Spark, кажется, упирались в GC). Сам не пробовал.

Я сам использую R - в основном из-за обилия библиотек и просто личного знакомства.

Date: 2014-12-08 09:10 pm (UTC)
From: [identity profile] ushastyi.livejournal.com
То есть они использовали Julia on top of Spark, что-то типа https://github.com/d9w/Spark.jl ? Интересно

Date: 2014-12-08 10:39 pm (UTC)
From: [identity profile] ushastyi.livejournal.com
В Вашем ответе я не сомневался :)

Date: 2014-12-08 10:42 pm (UTC)
From: [identity profile] ushastyi.livejournal.com
Agda все же, насколько я понимаю, это язык сугубо для научных целей. Из-за своей реализации типов и возможности вывода доказательств. То есть это круто-круто, но для очень-очень узко специализированных целей.

Date: 2014-12-08 10:42 pm (UTC)
From: [identity profile] ushastyi.livejournal.com
А почему? Не интересно или нет времени?

Date: 2014-12-08 10:55 pm (UTC)
From: [identity profile] whitelynx.livejournal.com
У меня к сожалению давно не получалось тратить много времени на изучение языков программирования. Python вот посмотрел некоторое время назад, ну, чтобы от жизни не отставать, использую его для написания скриптов. Хотя конечно Python мне учить и учить, если по-хорошему.
Scala начинал учить, но как-то у меня заглохло пока, планирую вернуться к нему. А вы кстати Kotlin не смотрели? Как я понимаю его позиционируют "типа Scala, только проще и понятнее".
Edited Date: 2014-12-08 10:56 pm (UTC)

Date: 2014-12-09 06:18 am (UTC)
From: [identity profile] v-pychick.livejournal.com
нет времени. Быдлокод отнимает всё.

Date: 2014-12-09 04:04 pm (UTC)
From: [identity profile] ushastyi.livejournal.com
На Kotlin не смотрел, но, конечно, знаю о его существовании. Когда я слышу "типа Scala, только проще и понятнее" -- это меня несколько удивляет. Объясню почему. На Скале можно писать просто и понятно. Это вопрос стиля программиста. Но иногда, при разработке библиотек или сложных систем типов, приходится писать сложно и непонятно. Но как раз это (сложные типы, views, имплиситы и т.п.) в Котлине верезано совсем. То есть "сложный код" Скалы написать на Котлине или нельзя вообще, или получится еще более сложно. А простой -- он и там, и там простой.

Но вообще я с большим уважением отношусь к тому, что делают в JetBrains -- очень умные ребята. Знаю людей, которые там работали или работают.

Date: 2014-12-11 04:47 am (UTC)
From: [identity profile] antilamer.livejournal.com
Нет, вроде просто Julia, и просто Spark - не вместе.

Date: 2014-12-14 03:32 am (UTC)
From: [identity profile] levgem.livejournal.com
мой программист сел и на Julia нафигачил прототип видеоаналитики. Был крайне доволен тем, что получаешь перфоманс С без геморроя с управлением памятью

Date: 2014-12-14 06:56 am (UTC)
From: [identity profile] ushastyi.livejournal.com
Спасибо, запомним как положительный опыт :)

Profile

kaipa: (Default)
kaipa

April 2017

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 10:54 am
Powered by Dreamwidth Studios