Size: a a a

2020 April 01

AV

Alexander Vershilov in haskell_blah
Ладно, я кладу чатик в архив, если что пингуйте явно
источник

KV

Kirill Valyavin in haskell_blah
Александр Гранин
И функции библиотеки не должны быть взаимозависимы
Я про это
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Kirill Valyavin
Очень сложно понять, где заканчиваются библиотеки и начинаются фреймворки, а также где заканчиваются фреймворки и начинаются рантаймы ЯП

Предлагаю такое определение: если подключаешь штуку, начинаешь что-то делать, а потом оказывается, что она работает немного не так, и нет способа это исправить штатными средствами — то это фреймворк, а не библиотека; если исходный код с использованием фрейвморка компилируется в код на том же языке, но без фреймворка, то это не фреймворк, а рантайм ЯП
В разных чатах давали определение что-то типа "если библиотека будет "вызывать твой код" - то фреймворк", но в это определение вписывается вообще любая ФП библиотека
источник

АГ

Александр Гранин in haskell_blah
В фреймворках flow выстраиваешь ты, но даешь на исполнение подсистемам фреймворка. Ты не контролируешь, как flow будет исполняться, какими конкретно имплементациями
источник

KV

Kirill Valyavin in haskell_blah
Oleg ℕizhnik
В разных чатах давали определение что-то типа "если библиотека будет "вызывать твой код" - то фреймворк", но в это определение вписывается вообще любая ФП библиотека
Да, в этом и проблема
источник

Oℕ

Oleg ℕizhnik in haskell_blah
с другой стороны это и не проблема, потому что вообще везде в погромировании нет нормального чёткого разграничения в таких видовых системах
источник

KV

Kirill Valyavin in haskell_blah
Александр Гранин
В фреймворках flow выстраиваешь ты, но даешь на исполнение подсистемам фреймворка. Ты не контролируешь, как flow будет исполняться, какими конкретно имплементациями
> С библиотеками - ты контроллируешь flow. С фреймворками - они контроллируют flow
Т. е. если это понимать в таком смысле, то с библиотеками я определяю сам и flow, и то, как он исполняется? А во фреймворках только первое
источник

Oℕ

Oleg ℕizhnik in haskell_blah
парадигмы, виды тестов, виды взаимодействия между компонентами, виды UI и вообще всё
источник

Oℕ

Oleg ℕizhnik in haskell_blah
так что странно было бы ожидать, что есть разрешимый дистинкшн между сортами библиотек
источник

АГ

Александр Гранин in haskell_blah
Kirill Valyavin
Я про это
Это, в целом, значит, что интерфейсные библиотечные функции делают что-то независимо друг от друга. Если, например, мы говорим об OpenGL, там можно вращать сцену, создавать объекты, задавать метрики и т.п., и эти функции просто дергаются тогда, когда тебе нужно. Вся необходимая информация передается им в аргументах (+ существует глобальный мутабельный стейт). В случае фреймворков есть операции, которые нельзя выполнить отдельно от других, или в рамках какого-то другого environment.

Но да, грань очень узкая
источник

АГ

Александр Гранин in haskell_blah
Kirill Valyavin
> С библиотеками - ты контроллируешь flow. С фреймворками - они контроллируют flow
Т. е. если это понимать в таком смысле, то с библиотеками я определяю сам и flow, и то, как он исполняется? А во фреймворках только первое
Фреймворки можно настроить на то, как они будут исполнять flow. Но делается это при старте. Фреймворк надо стартовать, библиотеку - нет
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Можно сказать, что есть признаки программных фреймворков, которые "добавляют очков"
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Например, если у библиотеки есть собственный конфиг
источник

λO

λeonid Onokhov in haskell_blah
Александр Гранин
Это, в целом, значит, что интерфейсные библиотечные функции делают что-то независимо друг от друга. Если, например, мы говорим об OpenGL, там можно вращать сцену, создавать объекты, задавать метрики и т.п., и эти функции просто дергаются тогда, когда тебе нужно. Вся необходимая информация передается им в аргументах (+ существует глобальный мутабельный стейт). В случае фреймворков есть операции, которые нельзя выполнить отдельно от других, или в рамках какого-то другого environment.

Но да, грань очень узкая
в OpenGL этого всего нет
источник

λO

λeonid Onokhov in haskell_blah
хотя не, в опенгл 2 ещё было
источник

АГ

Александр Гранин in haskell_blah
Вот
источник

KV

Kirill Valyavin in haskell_blah
Я просто вот что думаю. Если бы @graninas написал в твиттер не то, что написал (про фреймворки), а тезис типа "нужно больше opinionated solutions, чтобы не хотящим ничего решать разработчикам легче дышалось", то я бы даже согласился, а в формулировке с фреймворками согласиться неможно
источник

λO

λeonid Onokhov in haskell_blah
карочи, фреймворк это какой-нибудь есод или джанго. Этим пользоваться нельзя
источник

АГ

Александр Гранин in haskell_blah
Kirill Valyavin
Я просто вот что думаю. Если бы @graninas написал в твиттер не то, что написал (про фреймворки), а тезис типа "нужно больше opinionated solutions, чтобы не хотящим ничего решать разработчикам легче дышалось", то я бы даже согласился, а в формулировке с фреймворками согласиться неможно
Это нормально. Ты можешь написать в своем твиттере другое сообщение, с которым ты больше в согласии
источник

KV

Kirill Valyavin in haskell_blah
Но тогда б наверное и спорить было б не о чем, а надо ж набросить
источник