Size: a a a

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

2018 August 26

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Это одна из самых мощных штук в языке, если пользоваться умеючи. Там вроде бы есть пример для сложения? сокращает количество необходимого для написания кода в разы
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
просто их сложно применять умеючи
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
это метод подогрева чайника у математика — сводить задачи к уже известным за минимальное кол-во шагов
источник

g

gsomix in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
Это одна из самых мощных штук в языке, если пользоваться умеючи. Там вроде бы есть пример для сложения? сокращает количество необходимого для написания кода в разы
Да, есть пример. Но это больше про внутреннее устройство Julia. Можно было не вываливать в документации так рано.
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Это часто применяется в пакетах, когда кто-то хочет ввести свои числа. но не хочет прописывать операцию + для каждого конкретного типа, который можно складывать
источник

g

gsomix in Язык программирования Julia / Julia programming language
Ага.
источник

g

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

g

gsomix in Язык программирования Julia / Julia programming language
Это как с перегрузкой операторов. Для математических операций имеет смысл, в остальных случаях лучше избегать.
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
проблема на мой взгляд в том, что (пока что) нет набора "лучших практик", design patterns для языка. Вы дали нам много средств, мощных средств, но with great power comes great responsibility, что нам делать с этими средствами, как себя не покалечить и не превратить код в свалку хаотичных решений. Нету пока что для julia какого-нибудь Лутца или K&R.
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Из недавнего — думал, хорошо ли иметь изменяемое поле в неизменяемой структуре? Ну то есть, если мы объявляем нечто как mutable struct, то у нас автоматически все поля становятся mutable. А я, к примеру, хочу, чтобы только одно поле было таковым, зачем мне все?
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Мне переписать getindex и setindex для всех полей, которые я хочу оставить такими же? Или мне лучше сделать структуру всё-таки неизменяемой, а там, где я хочу изменяемое поле — поставить либо Ref{...}, либо вообще Array{} длины 1
источник

g

gsomix in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
проблема на мой взгляд в том, что (пока что) нет набора "лучших практик", design patterns для языка. Вы дали нам много средств, мощных средств, но with great power comes great responsibility, что нам делать с этими средствами, как себя не покалечить и не превратить код в свалку хаотичных решений. Нету пока что для julia какого-нибудь Лутца или K&R.
Всегда можно брать практики из других языков: иммутабельность по умолчанию -- это хорошо, неявное поведение -- плохо. И так далее. :)
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Первые пишут, что это ОК использовать изменяемое поле. Можно использовать Ref, либо обернуть каким-то образом, например массивом
источник

g

gsomix in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
Из недавнего — думал, хорошо ли иметь изменяемое поле в неизменяемой структуре? Ну то есть, если мы объявляем нечто как mutable struct, то у нас автоматически все поля становятся mutable. А я, к примеру, хочу, чтобы только одно поле было таковым, зачем мне все?
А для чего это нужно?
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Вопрос такой: хочу хранить массив в immutable структуре, это ОК по производительности или это плохо?
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
вот тут ещё более интересная дискуссия
https://discourse.julialang.org/t/immutable-vs-type-reassignment-via-arrays-and-performance/3364/7
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
да уж, мужик  с чувством юмора ))
ну, сказать по совести, я в Jupyter никогда не программирую, то пишу что-то, чтобы продемонстрировать другим. IMHO для презентаций (перед аудиторией) — очень удобный формат
источник