Size: a a a

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

2020 December 23

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Vladimir Izotov
Какая последовательность загрузки библиотек? Есть же пространства имён и импорт.
Если библиотека A пиратит метод foo и библиотека B делает то же самое, то в зависимости от того в каком порядке ты делаешь using, будет определяться как именно задан эта функция.
источник

VI

Vladimir Izotov in Язык программирования Julia / Julia programming language
Так я же не про Джулию.
источник

DP

Dmitry Penzar in Язык программирования Julia / Julia programming language
Андрей Оськин
Конечно можно. В Пайтоне даже multiple dispatch есть. Другой вопрос, что он не популярен, потому что синтаксис языка и библиотеки вокруг него не сделаны.

Грубо говоря, если тебе нужно numpy и pandas, то тот факт, что в языке есть multiple dispatch тебе не поможет, потому что 90% времени ты все равно будешь обычным подходом пользоваться, а MD будет выглядеть какой-то экзотикой.
Он там сделан через такой слой абстракций, что не видел и одного раза, чтоб его юзали
источник

VI

Vladimir Izotov in Язык программирования Julia / Julia programming language
Arthur
Не решается, все те же проблемы остаются. Тем более экстеншены же по сути функции, резолв там статический
Проблема с добавлением метода в чужой класс решается. А что такое "по сути" с точки зрения разработки не важно. Посути это потом байткобом будет.
источник

A

Arthur in Язык программирования Julia / Julia programming language
Смотрите, экстеншн не есть полноценный метод, это обычная статик функция с синтаксическим сахаром. У Стефана в посте как раз есть пример про добавление кода для VectorColor через функции
источник

A

Arthur in Язык программирования Julia / Julia programming language
Это как раз пример, который описывается как expression problem
источник

A

Arthur in Язык программирования Julia / Julia programming language
Если мы говорим, что экстеншены решают expression problem, то она решена вообще во всех языках получается? Ну или почти во всех
источник

A

Arthur in Язык программирования Julia / Julia programming language
Везде есть процедуры/функции
источник

VI

Vladimir Izotov in Язык программирования Julia / Julia programming language
Ну какая разница, как это реализовано? С позиции пользователя (программиста) можно добавить метод к классу без изменения класса. Profit.
источник

A

Arthur in Язык программирования Julia / Julia programming language
Так и везде так можно)
источник

A

Arthur in Язык программирования Julia / Julia programming language
И в плюсах 20 лет назад
источник

A

Arthur in Язык программирования Julia / Julia programming language
Просто вызов будет не через точку, а как функция
источник

A

Arthur in Язык программирования Julia / Julia programming language
Дело не в реализации, а в семантике
источник

VI

Vladimir Izotov in Язык программирования Julia / Julia programming language
Вопрос абстракции, используемой программистом. Если он, добавив функцию может выкинуть из головы, что это отдельная функция и использовать её как метод класса, значит для него уменьшилась сложность.
источник

VI

Vladimir Izotov in Язык программирования Julia / Julia programming language
Как и в Джулии - добавил метод к функции и забыл.
источник

A

Arthur in Язык программирования Julia / Julia programming language
Но работать будет по разному
источник

A

Arthur in Язык программирования Julia / Julia programming language
Выбор конкретной функции/метода будет происходить только на этапе компиляции
источник

A

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

A

Arthur in Язык программирования Julia / Julia programming language
Все старые проблемы остаются
источник

VI

Vladimir Izotov in Язык программирования Julia / Julia programming language
Но это уже вопрос не ООП vs FP, а статика vs динамика
источник