Size: a a a

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

2018 September 13

GC

Great Cheese Wall in Язык программирования Julia / Julia programming language
до этого просто только такой был
источник

GC

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

GC

Great Cheese Wall in Язык программирования Julia / Julia programming language
либо я тупил и не находил
источник

GC

Great Cheese Wall in Язык программирования Julia / Julia programming language
(размер ошибочный)
источник

g

gsomix in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
Atom конечно посимпатичнее VScode будет (у того нет окошка для графики)
Пришлось вот Atom поставить, да. Хотя я все остальное в VSCode делаю.
источник

g

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

АО

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

Засовывать в отдельные модули имеет смысл разве что если в них будут пересекающиеся имена структур.
источник

GC

Great Cheese Wall in Язык программирования Julia / Julia programming language
Overview of the Efficient Programming Languages (v.3)

https://sdevprog.blogspot.com/2018/04/overview-of-efficient-programming.html
источник

g

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

Засовывать в отдельные модули имеет смысл разве что если в них будут пересекающиеся имена структур.
Мне кажется, что самому инклудить файлы — это архаизм. :(
источник

АО

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

g

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

В Julia, насколько я понял, это делается через работу с глобальной переменной
push!(LOAD_PATH, "/Path/To/My/Module/")

Наверное, надо скрипт написать, который весь проект подгружает со всеми модулями?
источник

g

gsomix in Язык программирования Julia / Julia programming language
Андрей Оськин
Почему?
И что с ними ещё делать?
Надо же как-то компилятору указать где искать остальные куски кода.
Не хочу оперировать файлами, хочу модулями. :)
источник

g

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

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Мне кажется, что пытаться грузить модули через LOAD_PATH - это абъюз системы и создание самому себе массы проблем. Может в этом виноваты разработчики языка, конечно, но такова жизнь.
1. Это потребует при загрузке библиотеки запихнуть в LOAD_PATH пути до всех файлов. То есть да, нужен какой-то дополнительный скрипт, в который всё равно надо будет как-то имеющуюся структуру проекта запихивать.
2. Это резко ограничит имеющуюся гибкость , так как накладывает условие 1 модуль = 1 файл с тем же именем. Прямо Java путь какой-то....
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Вообще, где-то в доках же написано, что модули и файлы находятся в соответствии многие ко многим. То есть один модуль может быть разбросан по нескольким файлам и один файл может содержать несколько модулей. Это разные логические единицы и пытаться приравнять их друг к другу - это самому себя ограничивать.
источник

g

gsomix in Язык программирования Julia / Julia programming language
Андрей Оськин
Мне кажется, что пытаться грузить модули через LOAD_PATH - это абъюз системы и создание самому себе массы проблем. Может в этом виноваты разработчики языка, конечно, но такова жизнь.
1. Это потребует при загрузке библиотеки запихнуть в LOAD_PATH пути до всех файлов. То есть да, нужен какой-то дополнительный скрипт, в который всё равно надо будет как-то имеющуюся структуру проекта запихивать.
2. Это резко ограничит имеющуюся гибкость , так как накладывает условие 1 модуль = 1 файл с тем же именем. Прямо Java путь какой-то....
1. Я бы предпочел иметь структуру проекта в отдельном скрипте, потому что явное лучше неявного. :) В LOAD_PATH прописываются директории для поиска модулей.
2. Моно описывать модули, реализация которых распределена на несколько файлов (через include опять же, но тут ничего не поделать).
источник

g

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

g

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

g

gsomix in Язык программирования Julia / Julia programming language
gsomix
Но система модулей в Julia странная, да.
Например, модули нельзя расширять без изменения имеющегося кода?
источник
2018 September 14

АО

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