Сообщение Re[4]: Julia - holy grail! от 12.12.2019 14:03
Изменено 12.12.2019 22:53 novitk
Re[4]: Julia - holy grail!
Здравствуйте, Буравчик, Вы писали:
Б>Не думаю, что наличие макросов и мультиметодов сами по себе дадут существенное улучшение в производительности программиста.
Не утверждаю, что производительность на J будет лучше чем на Py, скорее что она будет не хуже.
Что до мултиметодов, то я очень люблю единые и разделенные подходы, которые мы сейчас имеем например в Хаскеле, Ерланге и Clojure. Есть данные, есть функции — все. В Питоне и прочих гибридах все намешано из за того, что единственный удобный adhoc полиморфизм это single-dispatch. В результате в Питоне нужно все время думать как запихнуть модель в это прокрустово ложе и очень часто этот выбор достаточно субъективен и может быть не оптимален по мере эволюции кода или не работать вообще, то есть требовать multi-dispatch, который красиво просто не сделать.
Б>Скорее, они будут использоваться для создания удобных библиотек. Т.е. библитеки должны уметь то же, что и питон, причем стать еще более удобными из-за макросов и мультиметодов. И когда это будет?
Я не вижу причин почему это не будет. Clojure например уже имеет библиотеки в некоторых областях лучше питона.
Б>Про numba не знаю, не использовал пока. Есть пример сложного кода, с которым numba не работает?
numba оптимизирует нижние функции индивидуально, это такой локальный pypy. Если внутри типы выводятся и ничего внешнего о чем она не знает не вызывается — ок. Нет? досвидос.
N>>В показательном комментарии имхо написан бред. Вот тебе показательные примеры:
Б>С чем ты не согласен?
С тем, что создание dataflow graphs очень удобно делать на Py, а на J почему-то нет. На самом деле Питон довольно средний язык для создания внутренних DSL. Лучше конечно чем Java, но по сравнению например со Скалой все очень плохо. Например макросы в этом деле сильно помогают. В качестве показательного примера сравни pandаs, в котором на каждый чих надо смотреть stackoverflow, и LINQ, который прост и понятен. Если что, в J linq это завезли:
https://github.com/JuliaData/DataFramesMeta.jl/blob/master/src/linqmacro.jl
Б>Не думаю, что наличие макросов и мультиметодов сами по себе дадут существенное улучшение в производительности программиста.
Не утверждаю, что производительность на J будет лучше чем на Py, скорее что она будет не хуже.
Что до мултиметодов, то я очень люблю единые и разделенные подходы, которые мы сейчас имеем например в Хаскеле, Ерланге и Clojure. Есть данные, есть функции — все. В Питоне и прочих гибридах все намешано из за того, что единственный удобный adhoc полиморфизм это single-dispatch. В результате в Питоне нужно все время думать как запихнуть модель в это прокрустово ложе и очень часто этот выбор достаточно субъективен и может быть не оптимален по мере эволюции кода или не работать вообще, то есть требовать multi-dispatch, который красиво просто не сделать.
Б>Скорее, они будут использоваться для создания удобных библиотек. Т.е. библитеки должны уметь то же, что и питон, причем стать еще более удобными из-за макросов и мультиметодов. И когда это будет?
Я не вижу причин почему это не будет. Clojure например уже имеет библиотеки в некоторых областях лучше питона.
Б>Про numba не знаю, не использовал пока. Есть пример сложного кода, с которым numba не работает?
numba оптимизирует нижние функции индивидуально, это такой локальный pypy. Если внутри типы выводятся и ничего внешнего о чем она не знает не вызывается — ок. Нет? досвидос.
N>>В показательном комментарии имхо написан бред. Вот тебе показательные примеры:
Б>С чем ты не согласен?
С тем, что создание dataflow graphs очень удобно делать на Py, а на J почему-то нет. На самом деле Питон довольно средний язык для создания внутренних DSL. Лучше конечно чем Java, но по сравнению например со Скалой все очень плохо. Например макросы в этом деле сильно помогают. В качестве показательного примера сравни pandаs, в котором на каждый чих надо смотреть stackoverflow, и LINQ, который прост и понятен. Если что, в J linq это завезли:
https://github.com/JuliaData/DataFramesMeta.jl/blob/master/src/linqmacro.jl
Re[4]: Julia - holy grail!
Здравствуйте, Буравчик, Вы писали:
Б>Не думаю, что наличие макросов и мультиметодов сами по себе дадут существенное улучшение в производительности программиста.
Не утверждаю, что производительность на J будет лучше чем на Py, скорее что она будет не хуже.
Что до мултиметодов, то я очень люблю единые и разделенные подходы, которые мы сейчас имеем например в Хаскеле, Ерланге и Clojure. Есть данные, есть функции — все. В Питоне и прочих гибридах все намешано из за того, что единственный удобный adhoc полиморфизм это single-dispatch. В результате в Питоне нужно все время думать как запихнуть модель в это прокрустово ложе и очень часто этот выбор достаточно субъективен и может быть не оптимален по мере эволюции кода или не работать вообще, то есть требовать multi-dispatch, который красиво просто не сделать.
Б>Скорее, они будут использоваться для создания удобных библиотек. Т.е. библитеки должны уметь то же, что и питон, причем стать еще более удобными из-за макросов и мультиметодов. И когда это будет?
Я не вижу причин почему это не будет. Clojure например уже имеет библиотеки в некоторых областях лучше питона.
Б>Про numba не знаю, не использовал пока. Есть пример сложного кода, с которым numba не работает?
numba оптимизирует нижние функции индивидуально, это такой локальный pypy. Если внутри типы выводятся и ничего внешнего о чем она не знает не вызывается — ок. Нет? досвидос.
N>>В показательном комментарии имхо написан бред. Вот тебе показательные примеры:
Б>С чем ты не согласен?
С тем, что создание dataflow graphs очень удобно делать на Py, а на J почему-то нет. На самом деле Питон довольно средний язык для создания внутренних DSL. Лучше конечно чем Java, но по сравнению например со Скалой все очень плохо. Например макросы в этом деле сильно помогают. В качестве показательного примера сравни pandаs, в котором на каждый чих надо смотреть stackoverflow, и LINQ, который прост и понятен. Если что, linq завезли: https://github.com/JuliaData/DataFramesMeta.jl/blob/master/src/linqmacro.jl
Б>Не думаю, что наличие макросов и мультиметодов сами по себе дадут существенное улучшение в производительности программиста.
Не утверждаю, что производительность на J будет лучше чем на Py, скорее что она будет не хуже.
Что до мултиметодов, то я очень люблю единые и разделенные подходы, которые мы сейчас имеем например в Хаскеле, Ерланге и Clojure. Есть данные, есть функции — все. В Питоне и прочих гибридах все намешано из за того, что единственный удобный adhoc полиморфизм это single-dispatch. В результате в Питоне нужно все время думать как запихнуть модель в это прокрустово ложе и очень часто этот выбор достаточно субъективен и может быть не оптимален по мере эволюции кода или не работать вообще, то есть требовать multi-dispatch, который красиво просто не сделать.
Б>Скорее, они будут использоваться для создания удобных библиотек. Т.е. библитеки должны уметь то же, что и питон, причем стать еще более удобными из-за макросов и мультиметодов. И когда это будет?
Я не вижу причин почему это не будет. Clojure например уже имеет библиотеки в некоторых областях лучше питона.
Б>Про numba не знаю, не использовал пока. Есть пример сложного кода, с которым numba не работает?
numba оптимизирует нижние функции индивидуально, это такой локальный pypy. Если внутри типы выводятся и ничего внешнего о чем она не знает не вызывается — ок. Нет? досвидос.
N>>В показательном комментарии имхо написан бред. Вот тебе показательные примеры:
Б>С чем ты не согласен?
С тем, что создание dataflow graphs очень удобно делать на Py, а на J почему-то нет. На самом деле Питон довольно средний язык для создания внутренних DSL. Лучше конечно чем Java, но по сравнению например со Скалой все очень плохо. Например макросы в этом деле сильно помогают. В качестве показательного примера сравни pandаs, в котором на каждый чих надо смотреть stackoverflow, и LINQ, который прост и понятен. Если что, linq завезли: https://github.com/JuliaData/DataFramesMeta.jl/blob/master/src/linqmacro.jl