Size: a a a

Язык программирования Julia / Julia programming language

2020 November 09

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
Евгений Погребняк
Точно питон? ) он не сильно форсит функциональный стиль мне кажется.
Не питон как таковой, конечно, а экосистема numpy/scipy из-за проблем с производительностью
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Nadezhda Galiyeva
Поясните 😉
Ну то есть буквально, ты сначала ищешь "правильные" функции, чтобы решать те или иные задачи, а потом понимаешь, что прямолинейный способ просто написать все циклами отлично работает.

Разумеется у каждого правила есть исключения, но в целом это так и выглядит.
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Слышал что в питоне циклы дорогое удовольствие
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Alexandr Krotov
Слышал что в питоне циклы дорогое удовольствие
Плохо продуманная архитектура языка. Плата за дальнейшие нашлёпки.
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Вроде бы связано с тем как работает интерпретатор? Сильно я в такое не влазил☺️
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну, говорить, что она плохо продумана это слишком жестоко. Она хорошо продумана, но задумывалась для решения других задач.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Но как и R питон не задумывался как high performance language.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Андрей Оськин
Ну, говорить, что она плохо продумана это слишком жестоко. Она хорошо продумана, но задумывалась для решения других задач.
Претензия не только к производительности. Но и к объектной модели и её синтаксическому описанию, например.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
“Другие цели” - этим можно что угодно оправдать 🙂
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Был замечательный ролик на YouTube, в котором рассказывалось, сколько всего накручено в обычном number.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну и кстати да, даже обычные целые числа в питоне это скорее аналог BigInt, чем Int64
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Медленно, зато любой длины можно число написать.
источник

ЕП

Евгений Погребняк... in Язык программирования Julia / Julia programming language
Roman Samarev
“Другие цели” - этим можно что угодно оправдать 🙂
Язык широкого применения, что вы ругаете )
источник

ЕП

Евгений Погребняк... in Язык программирования Julia / Julia programming language
Roman Samarev
Претензия не только к производительности. Но и к объектной модели и её синтаксическому описанию, например.
С объектами-то что не так? )
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
С-подобная декларация со ссылкой на структуру
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Евгений Погребняк
Язык широкого применения, что вы ругаете )
Ну как-то, в моём понимании он везде плох. Кода много, выразительность не очень, контролировать качество сложно.
источник

ЕП

Евгений Погребняк... in Язык программирования Julia / Julia programming language
Roman Samarev
Ну как-то, в моём понимании он везде плох. Кода много, выразительность не очень, контролировать качество сложно.
Наверное от юзкейса зависит. Мне пары вещей не хватает, но в целом что-то прототипировать - довольно быстро, и качество чаще всего понятно как повышать.
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
Alexander Plavin
ну и кстати, hcat(first.(a), last.(a))
гигант мысли)
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну вот кстати пример того, что можно красиво и быстро, или некрасиво и ещё быстрее.

using BenchmarkTools

f1(x) = hcat(first.(x), last.(x))
function f2(x)
   res = Matrix{Int}(undef, length(x), 2)
   @inbounds for i in eachindex(x)
       res[i, 1] = first(x[i])
       res[i, 2] = last(x[i])
   end
   return res
end

v = [1:10, 15:20, 30:40]
julia> @btime f1($v)
 90.451 ns (3 allocations: 352 bytes)
julia> @btime f2($v)
 29.326 ns (1 allocation: 128 bytes)


То есть зависит от того, где это используется.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Если не performance critical то лучше использовать красивый вариант, если critical, то лучше циклами писать (а ещё по возможности не аллоцировать массивы каждый раз, а мутировать один и тот же)
источник